どーも!marusukeです!
指定した時刻に一度だけコマンドやスクリプトを実行するコマンドat
についてです!
at コマンドでできること
at [時刻] [オプション]
at
コマンドは、指定した時刻に一度だけコマンドやスクリプトを実行するためのコマンドですcron
が定期実行向けなのに対し、at
は単発のスケジュール実行に適しています
ジョブのスケジュールには atd
(at デーモン)が必要であり、サービスが起動していることを確認する必要があります
at コマンドの使用例
10分後にスクリプトを実行
echo "echo 'Hello, World!'" | at now + 10 minutes
10分後に echo 'Hello, World!'
が実行されます。
特定の時刻にスクリプトを実行
echo "/home/user/script.sh" | at 14:30
当日の14時30分に /home/user/script.sh
を実行します。
翌日の指定時刻にスクリプトを実行
echo "/home/user/script.sh" | at 08:00 tomorrow
翌日の午前8時にスクリプトを実行します。
スケジュールされたジョブの一覧を確認
at -l
# または以下のatqコマンドも同じようにジョブ一覧を表示させることができます
atq
ジョブの一覧が表示され、各ジョブの番号と実行予定時刻が確認できます
スケジュールされたジョブを削除
at -d 3
# または以下のatrmコマンドも同じようにジョブを削除できます
atrm 3
ジョブID 3
のジョブを削除します
at コマンドのオプション
オプション | 説明 |
---|---|
-l | スケジュールされたジョブの一覧を表示(atq と同じ) |
-d | 指定したジョブを削除(atrm と同じ) |
-f ファイル | 指定したファイルの内容をジョブとして登録 |
-v | ジョブの詳細情報を表示 |
at の時刻指定の書き方
指定方法 | 説明 |
---|---|
HH:MM | 当日の指定時刻 |
HH:MM YYYY-MM-DD | 指定した日付・時刻 |
noon | 正午(12:00) |
midnight | 午前0時(00:00) |
tomorrow | 翌日の同じ時刻 |
now + X minutes | 現在からX分後 |
now + X hours | 現在からX時間後 |
now + X days | 現在からX日後 |
at
コマンドは、単発のスケジュール実行に便利です
以上です!
ここまで読んでいただきありがとうございました!
コメント