cron.daily clairification

时间:2013-01-08 14:20:10

标签: linux ubuntu cron

我一直在摆弄cron。如果你安排一个脚本每天运行,并且你的计算机在安排了它的计算机时关闭,那么如果你在一天晚些时候打开计算机它会运行吗?

4 个答案:

答案 0 :(得分:2)

cron.daily计划在特定时间每天运行一次。如果您的计算机当时处于关闭状态,则会错过它。

查看 / etc / crontab 以查看计划何时运行。在那里你会看到日程安排..它遵循这个结构:

MIN HOUR DOM MON DOW CMD

你应该看到类似于......的东西。

02 4 * * * root run-parts /etc/cron.daily

这意味着每月每周凌晨4点运行/etc/cron.daily文件

答案 1 :(得分:1)

在Ubuntu上,您通常安装了anachron。它将在下次运行您的日常工作 如果最后一次工作之间的间隔大于一天,则启动机器。如果您的机器暂时关闭,它将无法在当天晚些时候运行。

从手册页:

  

Anacron可用于定期执行命令,使用a   频率以天为单位。与cron(8)不同,它没有假设   机器连续运转。因此,它可以用于   一天24小时不运行的机器,每天控制,   通常由cron控制的每周和每月工作。

     

执行时,Anacron会从配置中读取作业列表   文件,通常是/ etc / anacrontab(参见anacrontab(5))。这个文件   包含Anacron控制的作业列表。每个工作条目   指定以天为单位的时段,以分钟为单位的延迟,以及独特的作业   标识符和shell命令。

     

对于每个作业,Anacron会检查此作业是否已执行   最后n天,其中n是为该作业指定的时间段。   如果没有,Anacron在等待之后运行作业的shell命令   指定为延迟参数的分钟数。

答案 2 :(得分:1)

快乐是对的。我可以补充一点,如果您需要每天运行脚本,但是您不确定计算机是否会在请求的时间启动,则可以将脚本放在 /etc/cron.daily 文件夹中。它将在启动时运行 您也可以使用Anacron

答案 3 :(得分:0)

不幸的是没有。 Cron是一个守护进程,每分钟检查一次配置并运行配置的命令。另外,在特定于发行版的cron.daily中定义的cronjobs是在特定时间执行的,通常在/ etc / crontab中定义(读取/etc/cron.daily等中的所有配置)

如果您想确保每天执行一次作业,无论机器何时运行,我建议您将其添加到/etc/rc.local以在启动后运行该命令。

修改 看起来像Ubuntu上的默认cron,anacron,做得更好。阅读Mithrandir的回答