/etc/cron.d 中有一堆 crons 但 crontab -l 没有显示

/etc/cron.d 中有一堆 crons 但 crontab -l 没有显示

我在 Ubuntu 16.04 上拥有 root 权限。

里面/etc/cron.d有这些文件:

root@server:/etc/cron.d# ls -l
total 16
-rw-r--r-- 1 root root  589 Jul 16  2014 mdadm
-rw-r--r-- 1 root root  670 Mar  1  2016 php
-rw-r--r-- 1 root root 2471 Dec  2 19:44 sendmail
-rw-r--r-- 1 root root   77 Jan 14 20:56 my_cron_weekly

正如您所看到的,有很多 cron,特别是"my_cron_weeky“是我添加的脚本。

问题是,如果我输入:crontab -l,我得到:

root@server:/etc/cron.d# crontab -l
no crontab for root

我如何检查里面的那些脚本是否可以/etc/cron.d从 cron 中正常读取?

答案1

crontab -l仅显示用户 crontab 的内容,存储在 cron 假脱机目录中(/var/spool/cron/crontabs在 Ubuntu 上)。它不考虑/etc/cron.d(或/etc/cron.daily等)下的文件。

要查看 cron 脚本是否正在处理,您可以查看cron发送的电子邮件或其日志。在 Ubuntucron日志上使用“cron”系统日志工具;默认情况下,cron 日志可能被禁用,您应该检查系统记录器的配置。您还可以让您的my_cron_weekly作业留下其执行的痕迹并寻找那些(例如向特定文件写入内容...)。

答案2

您可以将此文件放在那里(之后不要忘记删除它):

* * * * * root touch /root/cron.d.ok

答案3

/etc/cron.d ===> 属于系统和包管理系统所有。

crontab -l ===> 由用户 cron 组成

相关内容