/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.d是 crontab 文件。

替代解决方案可以是:

要么/etc/crontab编辑

00 02 * * * root /usr/bin/my_dir/test_wrapper.sh > /var/log/clamav.err 2>&1

或以 root 身份,使用crontab -e添加以下行

00 02 * * * /usr/bin/my_dir/test_wrapper.sh > /var/log/clamav.err 2>&1

相关内容