如何在 /etc/cron.d/ 中格式化自定义 crontab?

如何在 /etc/cron.d/ 中格式化自定义 crontab?

我的理解是,我可以将具有简单计划的系统作业添加到/etc/cron.hourly//etc/cron.daily/等等,将具有自定义计划的系统作业添加到/etc/cron.d/

但是在大型 IT 部门中,可能有几个人负责照看一台服务器,那么目录 /etc/cron.d 可能是安装 crontabs 的最佳位置 - 它是一个中心点,可以节省搜索时间!(Cron如何操作)

我创建了/etc/cron.d/testing以下内容:

# /etc/cron.d/testing: crontab entries for report generation

SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

15 13    * * 3   root   /usr/bin/supervisorctl start reports
00 16    * * 4   root   /usr/bin/supervisorctl start reports

该文件具有以下属性:

user@server:/etc/cron.d$ ls -la
total 28
drwxr-xr-x   2 root root  4096 Jul 14 12:57 .
drwxr-xr-x 146 root root 12288 Jul 14 13:48 ..
-rw-r--r--   1 root root   188 Feb 20  2014 anacron
-rw-r--r--   1 root root   102 Feb  9  2013 .placeholder
-rwxr--r--   1 root root   286 Jul 14 13:43 testing

我于周四下午 1 点重启了机器,希望它能在 13:15 发出报告。(计划是测试此调用,但也将其安排在每周五下午 4 点。)

/var/log/syslog但什么都没发生。或 Supervisor 日志中没有错误(或任何事件) 。我在 中使用相同的命令/etc/cron.daily/testing,它有效:

#!/bin/sh
/usr/bin/supervisorctl start reports

...我可以独立调用 Supervisor 作业。因此,我认为问题不在于 Supervisor 作业,也不在于我的调用。

我做错了什么?(问题记录在哪里?)

答案1

crontab 文件使用的格式/etc/cron.d/testing是正确的。(应该是,它是从 复制而来的/etc/cron.d/anacron

问题是我从 Windows 修改了它,可能弄乱了行尾。我重新克隆了anacron,在 Ubuntu 上编辑了它,一切正常。

(我仍然不知道错误消息(如果有)被记录在哪里。)

相关内容