为什么 Ubuntu Server 同时运行 cron 和 atd?

为什么 Ubuntu Server 同时运行 cron 和 atd?

从手册页来看,两者基本上都做同样的事情,为什么两者同时在系统上运行?从手册页的措辞来看,cron 似乎会在预定的时间重复运行程序,而 atd 可能只会运行一次,这是为什么呢?

答案1

它们看起来一样,但有些方面要好得多。一些区别:

计划任务

  • 可以安排重复作业(分钟,小时,月,月日,星期几);
  • 可以被编辑;
  • 您可以在 crontab 或 /etc/crontab 中设置这些

  • 开始一次。要重复,您需要再次开始;
  • 一旦开始,就无法编辑;
  • 您可以从命令行启动它。
  • at command 最重要的能力是在相对时间范围内进行操作的能力。

看一下这些例子并想象一下如何使用 cron 来实现这些功能:

at 2pm + 1 week
at 2pm next week
at 0815 jan 24
at 8:15 jan 24
at now "+ 1 day"
at 5 pm friday
at '17:00 + 30minutes'

at now "+ 1day"
warning: commands will be executed using /bin/sh
at> date
at> <EOT>
job 3 at Wed Aug  9 23:39:00 2017
rinzwind@schijfwereld:~$ 

rinzwind@schijfwereld:~$ at 2pm + 1 week
warning: commands will be executed using /bin/sh
at> date
at> <EOT>
job 1 at Tue Aug 15 14:00:00 2017

$ at 0815 Jan 24
warning: commands will be executed using /bin/sh
at> date
at> <EOT>
job 2 at Wed Jan 24 08:15:00 2018

 at 5 pm FRIday
warning: commands will be executed using /bin/sh
at> date
at> <EOT>
job 4 at Fri Aug 11 17:00:00 2017

相关内容