我们在slicehost上有一个CentOS 5 VPS。 我有几个PHP脚本来操作电子邮件和东西。
我需要一种方法来在机器的重启/启动时自动启动这些php脚本,并让它们在后台运行。 如果脚本停止,奖励将有能力自动重启。
谢谢!
你可以添加几个启动脚本:下面是我将使用的基本
#!/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 &
为了保持最小的权限,你需要replace你想让脚本运行的用户。 如果你希望它是root,那么你的php解释器将需要被setUID和拥有的根,但是你可以完全删除“su – ”。
您可以尝试将脚本添加到/etc/rc.local中,以便在重新引导时启动它们。
php /mypath/startupscript &
如果你需要它们来自动重启,那么你可能需要写出一个pid文件或者什么东西,并用cronjob监视它们。 不知道如果使用PHP进行长时间运行的系统pipe理过程是一个伟大的想法。
在服务器重新启动时,大多数* nix允许@reboot作为crontab中的时间/date执行。