我在 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 组成