[novashare_inline_content]

Linux システム、特にサーバーの管理では、特定の数の重要なアクションを毎日実行する必要がある場合があります。ただし、作業を楽にするために、次のコマンドを使用して Linux 上でタスクをスケジュールできます。at、そのため、時間厳守かつ非常に特定の時間に実行されます。その方法は次のとおりです。

注文atLinux ではデーモンを呼び出しますatdタスクをスケジュールするために。注意することが重要ですこのコマンドにより、タスクの単一スケジュールが可能になります。、 とは異なりcronこれにより、定期的なタスクをスケジュールできます。

インストーラat

パッケージatは、ほとんどの Linux システムにデフォルトでインストールされます。ただし、次のコード行を使用してバージョンを確認することで確認できます。

at -V

コンソールに「コマンドが見つかりません」と表示された場合は、インストールしてサービスを開始する必要があります。

sudo apt install at && sudo systemctl start atd

コマンド構文at

コマンド構文atは比較的簡単です。タスクの実行日時をパラメータで指定する必要があります。

at [OPTION...] heure/date

コマンドを使用する場合atタスクをスケジュールするには、マネージャーがシェルを開き、そこに実行するタスクを挿入します。その後、キーボード ショートカットを使用して実行を開始できます。Ctrl + D

特定の形式を使用して時間変数を指定できます。

  • 特定の時間帯:形式で時間を指定できます。HH:MM。指定した時間がすでに経過している場合、タスクは翌日の同じ時刻に実行されます。
  • 時間インジケーター:時間を指すために使用できる認識されたキーワードがあります。noon(12:00)midnight(00:00)、 またはteatime(16:00)
  • 特定の日:特定のタスクを 24 時間以上スケジュールするには、フォームに日付を追加する必要があります。MMDDYYMM/DD/YY、 またはDD.MM.YY
  • 近い将来の特定の期間:キーワードで期間を指定可能now、または記号+その後にピリオドが続きます。

日付を指定せずに時刻を指定すると、コマンドは同日 (検証時) の指定された時刻に実行できるかどうかを確認します。時間がすでに経過している場合、タスクは翌日の指定された時刻に実行されます。

コマンドでタスクをスケジュールする(例付き)

コマンドでタスクを実行する例をいくつか示します。atLinux 上で。このコマンドでは、実行時のフィードバックが画面に表示されないことに注意してください。ただし、オプションを使用して彼にメールを送信するように依頼できます。-m、彼の処刑後。通常、電子メールは次の場所にあります。/var/spool/mail/$USERまたは$USERタスクを開始したユーザーの名前を表します。

例 1:電子メールによるフィードバックを受けて、正確な瞬間にタスクを実行します。

# at -m now 
at> echo "Execution commande at" 
at> <EOT>

忘れずに押してくださいCtrl+Dタスクを検証します。

電子メールの内容には、次のコマンドを使用してログからアクセスできます (表示されるタイムスタンプは電子メールに関するものです)。

$ tail -f -n 13 /var/spool/mail/$USER

例 2:x 分または x 時間でタスクを実行します。

この構文を使用すると、時間 T に期間を追加してタスクを実行できます。

コマンドでスクリプト(ファイル)を実行することも可能です。次の例では、スクリプトを作成しました。tache_cmd_at.shこれにより、フォルダーが作成され、その後に作成日時が続きます。以下のコマンドで表示されるスクリプトの内容です。cat

したがって、オプションを使用してファイルから実行するコマンドを読み取ることができます。-f2分以内に実行してください。

$ at -m now +2min -f tache_cmd_at.sh

フォルダーをリストすることで結果を確認できます。ls

2 分ではなく 2 時間で実行する場合、コマンドは次のようになります。

$ at -m now +2 hours -f tache_cmd_at.sh 

例 3:特定の日にタスクを実行します。

特定の日付にタスクを実行するには、フランス語の形式を使用できます。DD.MM.YY。たとえば、05/22/22 午前 7 時 30 分に実行されたタスクの場合:

$ at 07:30 22.05.22 -f tache_cmd_at.sh

スケジュールされたタスクをリストする

キューにはコマンドでスケジュールされたタスクが保存されますat。注文と一緒にリストアップすることも可能ですatqまたはat -l。結果には特定の要素が含まれます。

  • タスクを識別するためのジョブ番号
  • タスクが実行された日付
  • タスクが実行された正確な時刻
  • キューの名前
  • タスクをスケジュールしたユーザーの名前

スケジュールされたタスクを削除する

もちろん、スケジュールされたタスクを削除することも可能です。このためには、その一意の番号が必要になります。削除はコマンドで行いますatrm

$ atrm 14

その後、タスク リストを表示して、削除が有効かどうかを確認できます。

この記事をシェアする

[novashare_inline_content]

あなたも私たちにできます記事のアイデアを提出する検索結果が異なる場合。