从手册页来看,两者基本上都做同样的事情,为什么两者同时在系统上运行?从手册页的措辞来看,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