`cron`サービスと`at`コマンド

`cron`サービスと`at`コマンド

理解を助けるために:それとcron命令とatの間にどのような関係がありますか?

実際にcron次のように実行してSUSEでサービスを停止した場合:

/etc/init.d/cron stop

at上記を実行した後、ジョブでコマンドを実行するとat
例:

at -f /u01/script1.sh now

ベストアンサー1

一般に、正確な呼び出し方法は、atプラットフォームと実装によって異なります。

ジョブは、すべてのプラットフォーム/構成で定期的なジョブまたは他のスケジューラーによって実行できますatcronたとえば、OS Xでは、ジョブはat特定の間隔でlaunchd実行されます/usr/libexec/atrun。同様に、FreeBSD では/usr/libexec/atruncron が数分ごとに実行されます。

私のDebian 7システムでは、atdcronとは無関係に実行されるサービスを実行しています。それにもかかわらず、これはジョブに保存されます/var/spool/cron/{atjobs,atspool}

したがって、/etc/init.d/atd起動時に開始されるサービスがあります。私はこの使い方がatdSUSEを含む多くのLinuxシステムで一般的だと思います。この場合とは、at互いにcron関連性がなく独立しています。

システムがどのように機能するかを確認できます。 cron サービスを停止し、次のコマンドを実行します。

echo 'touch /tmp/testfile' | at now + 1 minute

1分以内に存在することを確認してください/tmp/testfile。その場合、atジョブは実行中です。

おすすめ記事