次のようなcrontabファイルがあります。
* * * * * /home/abliskovs/update/update.sh
ただし、syslogでジョブが実行されたことの証拠を確認すると、ジョブが実行されたことを示すものは何もありません。実行中かどうかを確認するにはどうすればよいですか?
crontab -l
次を出力します。
* * * * * /home/abliskovs/update/update.sh
次のようなcrontabファイルがあります。
* * * * * /home/abliskovs/update/update.sh
ただし、syslogでジョブが実行されたことの証拠を確認すると、ジョブが実行されたことを示すものは何もありません。実行中かどうかを確認するにはどうすればよいですか?
crontab -l
次を出力します。
* * * * * /home/abliskovs/update/update.sh
回答:
>> / tmp / testlog.logをcrontabエントリの最後に追加します(出力をファイルにリダイレクトするには、調査または実行中かどうかを確認できます。さらに、2>&1にはエラーコンソールからの出力が含まれます)
0 * * * * /home/abliskovs/update/update.sh 2>&1 /tmp/testlog.log
sudo /etc/init.d/cron restart
ファイルを実行可能にするいくつかの方法
chmod +x /home/abliskovs/update/update.sh
chmod -R 0755 /home/abliskovs/update/update.sh
chmod a+x /home/abliskovs/update/update.sh
スクリプトファイルが実行可能であることを確認してください{chmod 755}それ以外の場合は実行されません
chmod +x filename
シェルスクリプトにはupdate.sh
おそらくエラーが含まれています。たとえば、コマンドが見つからないために実行できないコマンドもあります。この場合、PATH変数にコマンドへのパスを追加するか、コマンドの前に直接追加することが役立つ場合があります。また、MAILTOの電子メールアドレスを指定することもできます。Cronjobsを実行した結果の電子メールは、このアドレスに送信されます
PATH=/path/to/your/command:/another/important/path
MAILTO=my_name@my_domain
また、エラーのあるローカルメールボックスとmail
syslogファイルをチェックすることもできます/var/log/syslog
。cronjobが機能しない理由については、この関連する質問も参照してください。