web-dev-qa-db-ja.com

Ubuntu Serverがcronとatdの両方を実行するのはなぜですか?

マニュアルページからは、両方とも基本的に同じことをしているように見えますが、なぜ両方が同時にシステムで実行されているのでしょうか?マニュアルページの文言から、cronはプログラムをスケジュールされた時間に繰り返し実行するように見えますが、atdはプログラムを一度だけ実行することがありますが、これはなぜですか?

2
Ajtgarber

それらは同じように見えますが、いくつかの点で優れています。いくつかの違い:

cron

  • 繰り返されるジョブ(分、時間、月、日、月、日)をスケジュールできます。
  • 編集可能
  • これらをcrontabまたは/ etc/crontabで設定します

  • 一度開始します。それを繰り返すには、もう一度起動する必要があります。
  • 開始後は編集できません。
  • これはコマンドラインから開始できます。
  • atコマンドの最も重要な機能は、相対的な時間条件で動作する機能です。

これらの例を見て、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
2
Rinzwind