我的/etc/rc.local
脚本中有一个命令,该命令应该在启动过程中启动Tiny Tiny RSS的更新守护程序,但是在启动过程中不会执行该脚本。为什么?
整个/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.
/sbin/start-stop-daemon -b -c www-data:www-data -S -x /usr/bin/php /var/www/ttrss/update_daemon2.php -- -quiet
exit 0
/etc/rc.local
是可执行的:
# ls -l /etc/rc.local
-rwxr-xr-x 1 root root 342 May 25 16:14 /etc/rc.local
/etc/init.d/rc.local
存在并且可执行:
# ls -l /etc/init.d/rc.local
-rwxr-xr-x 1 root root 801 Jul 27 2012 /etc/init.d/rc.local
/etc/init.d/rc.local
应该在启动时为此运行级别执行:
# runlevel
N 2
# ls -l /etc/rc2.d/S99rc.local
lrwxrwxrwx 1 root root 18 Sep 22 2012 /etc/rc2.d/S99rc.local -> ../init.d/rc.local
如果我从命令行手动调用/etc/rc.local,则update_daemon会加载...
# /etc/rc.local
# ps ax | grep update_daemon2.php
2233 ? S 0:00 /usr/bin/php /media/sda5/www/news/update_daemon2.php -quiet
2234 ? S 0:00 /usr/bin/php /media/sda5/www/news/update_daemon2.php -quiet
...我必须记住,每次服务器重新启动时都必须这样做,直到解决此问题为止。
类似的 问题 已经存在,但是到目前为止,我还无法将信息应用于我的特定问题。
为什么在启动过程中不执行rc.local中的命令?
requiretty
设置。登录时,您正在TTY中执行脚本,但是在系统引导期间,它不在TTY中。该链接可能对您有帮助shell-tips.com/2014/09/08/…谢谢。