Linuxで時刻指定で一度だけ実行するジョブを設定する方法(at)

準備

'at'のインストール

私の環境(RockyLinux9.2)に初期状態でインストールされていなかったので、まずはインストールする。

dnf -y install at

自動起動設定

atdというデーモンがジョブを管理している。

systemctl start atd
systemctl enable atd

設定

書式は以下。

at hh:mm MMDDYYYY <command>

2023年6月24日21時45分にルートディレクトリ直下にあるexample.shというシェルスクリプトを実行するようジョブ登録する場合は以下。example.shには実行権限が付与されている前提。

at 21:45 06242023  /example.sh

ジョブ確認

方法は2通り。どちらでも良い。

atq
at -l

ジョブ削除

こちらについても2通りある。事前にジョブIDを把握しておく必要があるので、atqコマンドで確認しておくこと。

at -r <job-id>
atrm <job-id>

事前に告知したウェブサイトの更新作業などには、atでジョブスケジューリングすると良さそう。

Leave a Comment