У нас есть CentOS 5 VPS на slicehost. У меня есть несколько PHP-скриптов, которые работают с электронной почтой и прочим.
Мне нужен способ автоматически запускать эти php-скрипты при перезагрузке / запуске машины и запускать их в фоновом режиме. Бонусом будет возможность автоматического перезапуска, если скрипт остановлен.
Спасибо!
Вы можете попробовать добавить сценарий в /etc/rc.local, который должен запускать их при перезагрузке.
php /mypath/startupscript &
Если вам нужно, чтобы они автоматически перезапускались, вам, вероятно, нужно записать файл pid или что-то еще и отслеживать их с помощью cronjob. Не уверен, что использование php для длительного процесса управления системой - это отличная идея.
Большинство * nix позволяют @перезагрузка в качестве времени / даты в crontab для выполнения при перезапуске сервера.
Вы можете добавить пару сценариев запуска: Ниже приведены основные из того, что я бы использовал
#!/bin/bash
# chkconfig 2345 35 80
# Description: one line description
# I'd also insert a longer description of the
# scripts here.
# set any environment variables that might be needed here, too.
su - <target_user> /path/to/php /mypath/startupscript &
Соблюдая минимальные привилегии, вы захотите заменить пользователя, от имени которого вы хотите запускать скрипт. Если вы хотите, чтобы он был root, тогда ваш интерпретатор php должен иметь setUID и принадлежать root, но тогда вы можете полностью удалить «su -».