我想创建一个 crontab 来帮我做一些工作。因为我的服务器不是 24/7 全天候运行,所以我决定使用它anacron
。
好的,我简单看了一下/etc/anacrontab
:
1 5 cron.daily run-parts --report /etc/cron.daily
7 10 cron.weekly run-parts --report /etc/cron.weekly
@monthly 15 cron.monthly run-parts --report /etc/cron.monthly
我看到 anacron 已经在执行每日/每周和每月的 crontab。
就我而言,我想每天执行该命令,因此我专注于第一行,我可以清楚地看到它每天anacron
都会执行所有脚本cron.daily
,延迟 5 分钟。
因此,我放弃了创建 anacrontab 或更有可能是创建条目的想法/etc/anacrontab
,而是打算创建一个放置在中的 crontab,cron.daily
因为 anacron 无论如何都会执行此文件夹内的每个脚本。
现在,当我使用以下命令创建“每日”crontab 时:
crontab -e
关于man crontab
crontab 放在什么位置,var/spool/cron/crontabs/user
而不是/etc/cron.daily
我希望将我的 crontab 放入 cron.daily 并由 anacron 执行的位置。
问题
- 为什么我的意图是错误的,我的 crontab 没有被 anacron 自动执行,因为它没有放在 cron.daily 里面。
- 目的
cron.daily
仅仅是为了包含系统和自定义脚本而不是 crontabs 本身。 - 完成我的工作正确的方法是将 anacrontab 放在里面
etc/anacrontab
而不是创建 crontab。
答案1
你真的应该阅读文档,来自 mancrontab(1)
crontab - 为各个用户维护 crontab 文件
crontab -e 命令编辑当前用户的crontab(5)在 /var/spool/cron/crontabs/user 中找到(或创建)的文件。
如果您想每天运行一个文件,您需要做的就是将其放在/etc/cron.daily目录中并确保权限正确。
如果我是你,我就不会乱用anacrontab。