/etc/rc.local
スクリプトには、起動時にTiny Tiny RSSの更新デーモンを起動するコマンドが1つありますが、起動時にスクリプトは実行されません。どうして?
/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 /…に役立ちます。ありがとうございます。