我在 Pi 上运行 Raspbian 并安装了 cron 来安排作业。我编写了一个 Python 脚本,并将其设置为每 5 分钟运行一次。该工作每 5 分钟发生一次,没有问题,但是当我运行crontab -l
asroot
和 时pi
,它说没有工作。crontab -e
当我跑步时,root
它们pi
是空白的。
老实说,我记不清我何时开始这份工作的具体细节了。我知道我在格式为 a 的文档上写了一行crontab
,并且我很确定它是作为root
.
我发现了这一点,因为我要添加更多的工作,并且想在继续添加更多工作之前找到我所做的另一份工作。
答案1
有两个计划任务列表 (crontab)。
每个用户(包括 root)都有一个每个用户的 crontab,他们可以使用 列出crontab -l
并编辑该 crontab crontab -e
。 cron 的通常 Linux 实现将这些文件存储在/var/spool/cron/crontabs
.您不应直接修改这些文件(crontab -e
而是以用户身份运行),但列出它们以查看其中的内容是安全的。您需要成为 root 才能列出它们。
还有一个系统 crontab。该作业由 root 维护,并且作业可以以任何用户身份运行。系统 crontab由/etc/crontab
./etc/cron.d
这些文件有一个附加列:在 5 个日期/时间字段之后,它们有一个“用户”字段,这是作业将运行的用户。设置从目录、等/etc/crontab
运行脚本是很常见的,这就是在 Raspbian 上完成的方式。/etc/cron.hourly
/etc/cron.daily
所以看看所有这些地方:(/var/spool/cron/crontabs/*
你需要成为这个的root)/etc/crontab
,,/etc/cron.*
。
您还可以在系统日志中获取信息。他们不会告诉您作业的列出位置,但会准确告诉您正在执行的命令,以便您可以搜索命令文本。例如,这是/etc/cron.hourly
每小时运行命令的条目:
May 11 07:17:01 darkstar CRON[2480]: (root) CMD ( cd / && run-parts --report /etc/cron.hourly)
答案2
可能是其他用户提供的工作尝试列出为
ls -lR /etc/cron*
答案3
全局 cron 条目通常列在/etc/crontab
.有关 crontab 及其文件位置的详细信息,请尝试man cron
和man crontab
。
答案4
crontab -l lists the cron jobs for the default user.
它与出现的列表不同
sudo crontab -l
它列出了 root 用户创建的 crons。有时,当我们看到日志显示成功的 cron 作业而 crontab 没有列出预期的作业时,我们会感到困惑。当前用户是关键