PHP rc.local启动脚本仅部分工作,手动运行 - 没有问题

时间:2016-05-03 19:58:03

标签: php linux boot rc

我有一个脚本,我需要在系统启动后运行。因此,我已将脚本放在/etc/rc.local文件

#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.

screen -dmS PythonLoader /usr/bin/python2.7 /var/www/html/scripts/load.py
php '/var/www/html/cron/bootup.php'

exit 0

在我的/var/www/html/cron/bootup.php文件中,我有以下代码,它从远程主机下载文件

$head = array_change_key_case(get_headers($url, TRUE));
$remoteFileSize = $head['content-length'];
echo (file_put_contents($this->serverZipLocation . basename($url), fopen($url, 'r')) == $remoteFileSize) ? true : false;

我的问题是上面的代码只下载了大约60%的远程文件,之后只停止脚本执行。查看我的/var/log/lighttpd/error.log只会产生关于服务器启动的消息。

但是,如果我只是以root身份登录终端并手写/etc/rc.local来手动运行脚本,则根本没有问题。

为方便起见,/var/www/html/scripts/load.py文件中加载的/etc/rc.local也没有问题。

为什么这不起作用?

编辑:我现在尝试在sleep 120的第一行之前放置一个rc.local,这似乎使其有效。在脚本运行时,似乎还没有准备好所需的东西?也许网络?

0 个答案:

没有答案