/etc/cron.d はスクリプトを実行しません。

/etc/cron.d はスクリプトを実行しません。

定期的に実行したいテストスクリプトがあります。/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.dcrontabファイルです。

代替ソリューションは次のとおりです。

または/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

おすすめ記事