просто привык за десяток лет к rpm-based и *BSD....по работе solaris и aix....
до сих пор не адаптируюсь к куче способов установки пакетов у дебианов ... apt-get, dpkg ,aptitude и т д.... а еще после установки пакета - пакет сам запускается и работает))) а если я не хочу что бы он стартовал))) так то против дистрибутива ничего не имею))
KostaShah: Это вариант, спасибо. Сейчас поковыряюсь.
Всё же, интересно, из-за чего может падать PHP-скрипт?
П.С. Второстепенный вопрос, не важный, но если кто знает... В php.ini стоит output_buffering = Off, но вывод всё равно буферизуется - пока скрипт не закончит работу, ничего не показывается в браузере. Можно ли от этого избавиться?
у вас это стоит в общесистемном php.ini ? php-cgi\fastcgi запускается отдельным процессом в системе и у него свой php.ini.
LogLevel debug поставьте в /etc/httpd/conf/httpd.conf - если ценос , если недолинукс типа дебиана, то в /etc/apache2/apache2.conf, передерните апач:
service httpd restart - если центос или RHEL
или
/etc/init.d/apache2 restart - если недолинукс типа дебиана.
так же, необходимо увидеть, что у вас в /etc/httpd/conf.d/mod_fcgid.conf или чтото в этом роде, если у вас всетаки похапе в режиме cgi работает.
возможно настройки распределения памяти сделаны таким образом, что если память выделяется больше положенного - то процесс завершается сам, веб-сервер типа апача позволяет это делать.
---------- Добавлено 22.06.2013 в 10:28 ----------
в догонку:
mod_fcgid: process 7817 graceful kill fail, sending SIGKILL - это, возможно, уже не ваш код виноват.
вам серверное ПО говорит - что заслало принудительный килл процессу.
как минимум наверное нужно в /etc/htttpd/conf.d/mod_fcgid.conf или как там этот конфиг называется поставить число:
IPCConnectTimeout
и
IPCCommTimeout
поболее....
а так ...нужно смотреть. если у вас хостинг и настройки вашего аккаунта со стороны хостера сделаны таким образом, что если вы борзеете в части выделения памяти, то ваши процессы прибивать - то пинать хостера.
если у вас впс - то нужно смотреть впс + если впс не хватает ресурсов - увеличивать.
bugsmoran: Вы так сервер уложете, если он нагруженный. Базы надо бэкапить не всем скопом, а обходя в цикле и делая по несколько секунд паузы между ними. Не сделаете так - у вас на момент окончания бэкапа ЛА под небеса улетит.
доброе утро!
естественно) если СУБД нагружена - то нужно сначала оценить и изучить эту нагрузку.
а то возможно и вовсе холодный бакап ....
работал когда то в компании, у которой СУБД MySQL - держала все внутренние CRM, так сложилось исторически. Весила 140Gb, естетвенно дампом ее никто не бакапил.
---------- Добавлено 21.06.2013 в 07:37 ----------
donatory: mark2011, WapGraf, что-то подобное я и ищу.
В поисках, натыкался на статью на Хабре с подобным скриптом. Может стоит внимательней вглядеться в код. Там просто для другого хостинга было, но разницы, как я понимаю, особой нет. Линь она и в африке линь. Толко пути будут разные.
На данный момент я вижу это так:
Пишем 2 скрипта - для mysql и файлов
дергаем кроном в нужное время
Дело за малым: написать 2 скрипта :-) Собственно, в чем и сложность.
всмотритесь в моее сообщение и всмотритесь в мой типа код. там палка-веревка, не нужно быть программистом, что бы понять что там написано.
если нужно, что бы бакап не только клался на фтп, но и сохранялся локально на компе, то в конце скрипта убрать это:
&& rm -rf /path/to/final/backup-`date -I`.tar.gz
PS: написано по быстрому , прямо сейчас, в постели с ноутбуком на коленках, первое что пришло в голову, но рабочее. на гениальность не претендует, используете сами на свой страх и риск, естественно - значения в переменные поставьте свои.
если написанное выше для Вас, ТС - "какие то буквы....", то обращайтесь, минималка - 100$
---------- Добавлено 20.06.2013 в 23:22 ----------
не дочитал... вы же хотите делать бакапы локально и потом их стаскивать...
тогда как то типа так:
#!/bin/bash
MYSQL_U=username
MYSQL_P=password
mysqldump -A -u $MYSQL_U --password='$MYSQL_P' | gzip > /path/to/mysql-`date -I`.sql.gz
tar -czf /path/to/files.tar.gz /my/files
и скачиваете потом с сервера два файла:
/path/to/mysql-`date -I`.sql.gz и /path/to/files.tar.gz
так вконтакт уже полгода как все и всех блочит
делается это по фтп например.
от 3000руб обращайтесь. помогу.
а чем анонимны вебмани? обртитесь к пользователю ArtemZ, должен помочь
pupseg
почему debian недолинукс?
в debian есть sysvinit-utils,
просто привык за десяток лет к rpm-based и *BSD....по работе solaris и aix....
до сих пор не адаптируюсь к куче способов установки пакетов у дебианов ... apt-get, dpkg ,aptitude и т д.... а еще после установки пакета - пакет сам запускается и работает))) а если я не хочу что бы он стартовал))) так то против дистрибутива ничего не имею))
удачи в бизнесе. а когда наступит первое сентября - что вы будите делать?
Это вариант, спасибо. Сейчас поковыряюсь.
Всё же, интересно, из-за чего может падать PHP-скрипт?
П.С. Второстепенный вопрос, не важный, но если кто знает... В php.ini стоит output_buffering = Off, но вывод всё равно буферизуется - пока скрипт не закончит работу, ничего не показывается в браузере. Можно ли от этого избавиться?
у вас это стоит в общесистемном php.ini ? php-cgi\fastcgi запускается отдельным процессом в системе и у него свой php.ini.
LogLevel debug поставьте в /etc/httpd/conf/httpd.conf - если ценос , если недолинукс типа дебиана, то в /etc/apache2/apache2.conf, передерните апач:
service httpd restart - если центос или RHEL
или
/etc/init.d/apache2 restart - если недолинукс типа дебиана.
так же, необходимо увидеть, что у вас в /etc/httpd/conf.d/mod_fcgid.conf или чтото в этом роде, если у вас всетаки похапе в режиме cgi работает.
возможно настройки распределения памяти сделаны таким образом, что если память выделяется больше положенного - то процесс завершается сам, веб-сервер типа апача позволяет это делать.
---------- Добавлено 22.06.2013 в 10:28 ----------
в догонку:
mod_fcgid: process 7817 graceful kill fail, sending SIGKILL - это, возможно, уже не ваш код виноват.
вам серверное ПО говорит - что заслало принудительный килл процессу.
как минимум наверное нужно в /etc/htttpd/conf.d/mod_fcgid.conf или как там этот конфиг называется поставить число:
IPCConnectTimeout
и
IPCCommTimeout
поболее....
а так ...нужно смотреть. если у вас хостинг и настройки вашего аккаунта со стороны хостера сделаны таким образом, что если вы борзеете в части выделения памяти, то ваши процессы прибивать - то пинать хостера.
если у вас впс - то нужно смотреть впс + если впс не хватает ресурсов - увеличивать.
если у вас сервер - то нужно смотреть сервер.
да, именно так, есть у меня клиент, только у него линукс. 50+ сайтов вертятся на 50+ vserver'ах (типа openvz, с понтом - крутой chroot)
да. могут в любом. они на то и приставы.
Вы так сервер уложете, если он нагруженный. Базы надо бэкапить не всем скопом, а обходя в цикле и делая по несколько секунд паузы между ними. Не сделаете так - у вас на момент окончания бэкапа ЛА под небеса улетит.
доброе утро!
естественно) если СУБД нагружена - то нужно сначала оценить и изучить эту нагрузку.
а то возможно и вовсе холодный бакап ....
работал когда то в компании, у которой СУБД MySQL - держала все внутренние CRM, так сложилось исторически. Весила 140Gb, естетвенно дампом ее никто не бакапил.
---------- Добавлено 21.06.2013 в 07:37 ----------
mark2011, WapGraf, что-то подобное я и ищу.
В поисках, натыкался на статью на Хабре с подобным скриптом. Может стоит внимательней вглядеться в код. Там просто для другого хостинга было, но разницы, как я понимаю, особой нет. Линь она и в африке линь. Толко пути будут разные.
На данный момент я вижу это так:
Пишем 2 скрипта - для mysql и файлов
дергаем кроном в нужное время
Дело за малым: написать 2 скрипта :-) Собственно, в чем и сложность.
всмотритесь в моее сообщение и всмотритесь в мой типа код. там палка-веревка, не нужно быть программистом, что бы понять что там написано.
у меня сегодня настроение помочь бесплатно:
сначала даете две команды:
apt-get update
apt-get install -y lftp
далее создаете файл backup.sh, вешаете на него право исполнения и записываете в него:
если нужно, что бы бакап не только клался на фтп, но и сохранялся локально на компе, то в конце скрипта убрать это:
PS: написано по быстрому , прямо сейчас, в постели с ноутбуком на коленках, первое что пришло в голову, но рабочее. на гениальность не претендует, используете сами на свой страх и риск, естественно - значения в переменные поставьте свои.
если написанное выше для Вас, ТС - "какие то буквы....", то обращайтесь, минималка - 100$
---------- Добавлено 20.06.2013 в 23:22 ----------
не дочитал... вы же хотите делать бакапы локально и потом их стаскивать...
тогда как то типа так:
#!/bin/bash
MYSQL_U=username
MYSQL_P=password
mysqldump -A -u $MYSQL_U --password='$MYSQL_P' | gzip > /path/to/mysql-`date -I`.sql.gz
tar -czf /path/to/files.tar.gz /my/files
и скачиваете потом с сервера два файла:
/path/to/mysql-`date -I`.sql.gz и /path/to/files.tar.gz