atコマンドとは?意味をわかりやすく簡単に解説
スポンサーリンク
atコマンドとは
atコマンドはUNIX系オペレーティングシステムで一度限りのタスクをスケジュールするためのコマンドです。atコマンドを使用すると、指定した時刻に自動的にコマンドやスクリプトを実行することができます。
atコマンドは一度だけ実行されるタスクのスケジューリングに適しています。定期的に実行するタスクにはcronコマンドが使用されます。atコマンドはシステム管理者やユーザーが特定の時間にタスクを実行したい場合に便利です。
atコマンドを使用するにはコマンドラインでatコマンドを入力し、実行したいコマンドや時刻を指定します。時刻は絶対時刻(例: 2023年5月1日午後3時)や相対時刻(例: 現在から2時間後)で指定できるようになっています。
atコマンドはバックグラウンドで実行されるため、コマンドの実行中もシェルを使用することができます。実行結果はユーザーのメールボックスに送信されるか、指定したファイルに出力されます。
atコマンドを使用するには適切な権限が必要です。多くのシステムではatコマンドの使用はスーパーユーザー(root)に制限されています。一般ユーザーがatコマンドを使用するにはシステム管理者による設定が必要となります。
atコマンドの基本的な使い方
atコマンドの基本的な使い方に関して、以下3つを簡単に解説していきます。
- atコマンドの書式と時刻の指定方法
- atコマンドでのコマンドやスクリプトの指定
- atコマンドの実行結果の確認方法
atコマンドの書式と時刻の指定方法
atコマンドの基本的な書式はat [オプション] 時刻
です。時刻は絶対時刻や相対時刻で指定します。絶対時刻はYYYY-MM-DD HH:MM
の形式で指定し、相対時刻はnow + 1 hour
のように指定します。
また、atコマンドには実行日時を指定するためのオプションがあります。よく使用されるオプションには-t
(時刻を指定)、-d
(日付を指定)、-m
(メールで結果を通知)などがあります。
以下はatコマンドで時刻を指定する例です。
at 2023-05-01 15:00
at now + 2 hours
at -t 202305011500
スポンサーリンク
atコマンドでのコマンドやスクリプトの指定
atコマンドでは実行したいコマンドやスクリプトを指定します。コマンドを直接入力するか、ファイルからコマンドを読み込むことができます。コマンドを直接入力する場合はatコマンドの後にコマンドを入力し、Ctrl+Dで入力を終了します。
ファイルからコマンドを読み込む場合はat -f ファイル名 時刻
の形式で指定します。ファイルには実行したいコマンドやスクリプトを記述します。
以下はatコマンドでコマンドを指定する例です。
at 2023-05-01 15:00
echo "Task executed" > /tmp/at_output.txt
Ctrl+D
at -f /path/to/script.sh now + 2 hours
atコマンドの実行結果の確認方法
atコマンドの実行結果はデフォルトではユーザーのメールボックスに送信されます。メールにはコマンドの標準出力と標準エラー出力が含まれます。メールで結果を受け取るにはシステムにメールサーバーが設定されている必要があります。
また、atコマンドの-m
オプションを使用すると、メールでの結果通知を無効にできます。この場合、コマンドの出力は指定したファイルに保存されます。
以下はatコマンドの実行結果を確認する例です。
at -m 2023-05-01 15:00 < /path/to/script.sh
at -f /path/to/script.sh -o /path/to/output.txt now + 2 hours
atコマンドのスケジュール管理
atコマンドのスケジュール管理に関して、以下3つを簡単に解説していきます。
- atqコマンドによるスケジュールされたジョブの一覧表示
- atrmコマンドによるスケジュールされたジョブの削除
- atコマンドとcronコマンドの使い分け
atqコマンドによるスケジュールされたジョブの一覧表示
atqコマンドは現在スケジュールされているatジョブの一覧を表示するコマンドです。atqコマンドを実行すると、ジョブID、実行予定時刻、ジョブを投入したユーザー名が表示されます。
以下はatqコマンドの実行例です。
$ atq
1234 2023-05-01 15:00 a user
5678 2023-05-02 09:30 a user
スポンサーリンク
atrmコマンドによるスケジュールされたジョブの削除
atrmコマンドはスケジュールされたatジョブを削除するコマンドです。atrmコマンドに、削除したいジョブのIDを指定して実行します。ジョブIDはatqコマンドで確認できます。
以下はatrmコマンドの実行例です。
$ atrm 1234
atコマンドとcronコマンドの使い分け
atコマンドは一度だけ実行するタスクのスケジューリングに適しています。一方、cronコマンドは定期的に実行するタスクのスケジューリングに使用されます。atコマンドは特定の時間に一度だけ実行したい場合に便利です。
cronコマンドはminutesフィールド、hoursフィールド、daysフィールド、monthsフィールド、daysofweekフィールドを使用して、タスクの実行スケジュールを細かく設定できます。一方、atコマンドは時刻を指定するだけでタスクをスケジュールできるため、よりシンプルです。
タスクの性質や要件に応じて、atコマンドとcronコマンドを適切に使い分けることが重要です。一度だけ実行するタスクにはatコマンドを、定期的に実行するタスクにはcronコマンドを使用するのが一般的でしょう。
atコマンドの応用的な使用方法
atコマンドの応用的な使用方法に関して、以下3つを簡単に解説していきます。
- atコマンドでの環境変数の設定
- atコマンドでの標準入力からのコマンド読み込み
- atコマンドでのエラー処理とログ出力
atコマンドでの環境変数の設定
atコマンドでは環境変数を設定することができます。これにより、スケジュールされたコマンドやスクリプトが特定の環境で実行されるようになります。環境変数はexport 変数名=値
の形式で指定します。
以下はatコマンドで環境変数を設定する例です。
at 2023-05-01 15:00 <
atコマンドでの標準入力からのコマンド読み込み
atコマンドでは標準入力からコマンドを読み込むことができます。これにより、コマンドやスクリプトをファイルに保存せずに、直接atコマンドに渡すことができます。標準入力からコマンドを読み込むにはat 時刻 <<EOF
の形式を使用します。
以下はatコマンドで標準入力からコマンドを読み込む例です。
at now + 1 hour < /tmp/at_output.txt
ls -l /tmp >> /tmp/at_output.txt
EOF
atコマンドでのエラー処理とログ出力
atコマンドではエラー処理とログ出力を適切に行うことが重要です。コマンドやスクリプトにエラーが発生した場合、エラーメッセージをログファイルに出力したり、メールで通知したりすることができます。また、コマンドの実行結果をログファイルに出力することで、後からタスクの実行状況を確認できます。
以下はatコマンドでエラー処理とログ出力を行う例です。
at 2023-05-01 15:00 <&1 | tee /path/to/log.txt
EOF
at -m -f /path/to/script.sh -o /path/to/log.txt now + 2 hours
※上記コンテンツはAIで確認しておりますが、間違い等ある場合はコメントよりご連絡いただけますと幸いです。
- EmEditor v24.2.0リリース、AI機能とセキュリティが強化されユーザビリティが向上
- Windows 11とWindows 10の非推奨機能一覧公開、セキュリティ強化や新機能への移行が進む
- Windows 11 version 24H2がリリースプレビューに登場、新機能とCopilotアプリ化で利便性向上
- Windows 10 Build 19045.4472がRelease Preview Channelに、Entra IDやWPFの問題など修正
- 最新Surface ProとLaptopが登場、AIで進化するWindowsの新時代が幕開け
- Windows 11にAIプラットフォーム「Copilot+ PCs」登場、高度なAIワークロードに対応
- Android 15 Beta 2リリース、フォアグラウンドサービスと16KBページサイズの変更が目玉
- Microsoft 365アプリでアクセシブルなPDF作成が可能に、機能拡充でデジタルインクルージョンを促進
- 機械系シミュレータ Fulico+ V7.56 リリース、機械電気系の統合シミュレーション実現へ
- Portmaster v1.6.10リリース、ICMPフィルタリング強化とバグ修正で利便性向上
スポンサーリンク