定期的に実行したいテストスクリプトがあります。/etc/cron.d
というディレクトリにファイルを作成しましたmy_test.cron
。
#ls -l /etc/cron.d/my_test.cron
-rwxr-xr-x 1 root root 81 Sep 24 2020 my_test.cron
#cat /etc/cron.d/my_test.cron
00 02 * * * root /usr/bin/my_dir/test_wrapper.sh > /var/log/clamav.err 2>&1
cronジョブが呼び出されないことがわかります。ファイルに利用可能なログがありませんlog.err
。ただし、手動で実行すると、スクリプトは正常に動作します。ラッパースクリプトの権限は次のとおりです。 ->
-rwxr-xr-x 1 root root 1.2K Sep 24 2020 /usr/bin/my_dir/test_wrapper.sh
Syslogを追跡すると、私のcronに関する情報のみが表示されます。 ->
Jul 14 00:02:01 my-test-vm CRON[15891]: (root) CMD (command -v debian-sa1 > /dev/null && debian-sa1 1 1)
私がここで何を見逃しているのでしょうか?
ベストアンサー1
/etc/cron.d
ファイル(およびディレクトリ)は/etc/cron.*
実行用に存在し、ファイルではありませんcrontab
。
- ディレクトリ内のファイルは
/etc/cron.*
実行されるファイルであり、crontab
ファイルではありません。 - のファイルは
/etc/cron.d
crontabファイルです。
代替ソリューションは次のとおりです。
または/etc/crontab
編集
00 02 * * * root /usr/bin/my_dir/test_wrapper.sh > /var/log/clamav.err 2>&1
または、ルートとして次を使用してcrontab -e
次の行を追加します。
00 02 * * * /usr/bin/my_dir/test_wrapper.sh > /var/log/clamav.err 2>&1