如何在 /etc/cron.d 中使用@reboot

hyp*_*not 19 linux cron

我正在将单个用户的 crontab 迁移到 /etc/cron.d,因为这将允许正确的备份、恢复和版本控制。

到目前为止,据我所知,用户的 crontabs 和 etc 之间的唯一区别是您必须将用户指定为第 6 列。这是正确的吗?

我的主要问题是,我在互联网上的任何地方都找不到答案:@reboot在 /etc/cron.d 或 /etc/crontab 中使用的正确方法是什么?

@reboot root command什么?

Mar*_*iae 22

crontab 手册页

/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)

正确的