私は以下のようにセットアップしていますが、実行されることはありません。
$ chmod +x /var/tmp/myscript.sh
$ vim /var/tmp/crontab.sh;
* * * * * sleep(10); /var/tmp/myscript.sh
$ crontab /var/tmp/crontab.sh
ただ、機能していないことに気づきました。何が間違っていますか?
$ grep CRON /var/log/syslog
Nov 28 15:20:01 Sun CRON[1768]: (Sun) CMD (sleep(10);/var/tmp/myscript.sh)
Nov 28 15:20:01 Sun CRON[1766]: (CRON) error (grandchild #1768 failed with exit status 2)
Nov 28 15:20:01 Sun CRON[1766]: (CRON) info (No MTA installed, discarding output)
フォローアップ:
$ vim /var/tmp/crontab.sh
* * * * * sleep 10; /var/tmp/myscript.sh>/dev/null 2>&1
$ tail -f /var/log/syslog | grep CRON
Nov 28 15:50:02 Sun CRON[2301]: (Sun) CMD (sleep 10; /var/tmp/myscript.sh>/dev/null 2>&1)
Nov 28 15:51:01 Sun CRON[2312]: (Sun) CMD (sleep 10; /var/tmp/myscript.sh>/dev/null 2>&1)
sleep
は引数を括弧で囲みません(Cのように)ので、
* * * * * sleep 10; /var/tmp/myscript.sh
cron
;)に送信する前に、システムシェルでコマンドを常にテストしてください。
実際、crontabを使用する最良の方法は、crontab自体を使用することです。
crontab -l#現在のcrontabエントリーをリストする
crontab -e#cronテーブルを編集
(crontab -e 'を介して)crontabの編集を終了するとすぐにアクティブになり、起動するように設定されている場合は常に設定されたものを起動します。
Crontabが機能するには、マシンが実行されている必要があることに注意してください。もっと柔軟にしたい場合は、anacron(8)を見ることができます。