我正在将单个用户的 crontab 迁移到 /etc/cron.d,因为这将允许正确的备份、恢复和版本控制。
到目前为止,据我所知,用户的 crontabs 和 etc 之间的唯一区别是您必须将用户指定为第 6 列。这是正确的吗?
我的主要问题是,我在互联网上的任何地方都找不到答案:@reboot在 /etc/cron.d 或 /etc/crontab 中使用的正确方法是什么?
像
@reboot root command什么?
Mar*_*iae 22
/etc/cron.d/ 中的作业
cron.d 中的作业是系统作业,通常用于多个用户。这就是为什么需要用户名的原因。第一行的 MAILTO 是可选的。
/etc/cron.d/job 中的作业示例
#login as root
#create job with preferred editor (e.g. vim)
MAILTO=root
* * * * * root touch /tmp/file
Run Code Online (Sandbox Code Playgroud)
这是/etc 中关于 crontab 的整个部分,所以我想包含运行作业的用户名确实是唯一的区别。
再次来自同一个手册页:
支持这些特殊的时间规范“昵称”,它们取代了 5 个初始时间和日期字段,并以“@”字符为前缀:
@reboot :重启后运行一次。
因此,您推断使用@reboot的正确方法是
@reboot user_name command
Run Code Online (Sandbox Code Playgroud)
是正确的。