GNU/Linux >> Linux の 問題 >  >> Linux

Crontabの再起動:起動時にジョブを自動的に実行する方法

はじめに

Cronデーモンは、システムのタスクとプロセスをスケジュールするために使用されるLinuxユーティリティです。 cronテーブル(crontab)を使用して、スケジュールされたジョブを保存および読み取ります。

このチュートリアルでは、crontabを使用して、システムの再起動時に実行されるジョブをスケジュールする方法について説明します。

前提条件

  • Linuxを実行しているシステム
  • コマンドライン/ターミナルウィンドウへのアクセス
  • rootまたはsudo権限を持つユーザーアカウント

Crontabコマンドの概要

crontabを使用 コマンドを使用すると、ジョブをいつどのように実行するかを完全に制御できます。 crontabを使用する タスクにループやタイミングロジックを必要とせずに、ジョブの実行時間を分単位に設定します。

crontab 実行されていないときにシステムメモリを予約しないため、リソース要件が低くなります。

起動時のcrontab:起動時にCronジョブを実行する

次のコマンドを使用して、cronタスクリストを開きます。

crontab -e

複数のテキストエディタがインストールされている場合、cronタスクリストを更新するエディタを選択するように求められます。括弧内の数字を使用して、お好みのオプションを選択してください。デフォルトのオプションであるNanoを使用します。

システムの起動ごとにcronジョブを実行するには、 @rebootという文字列を追加します タスクリストの最後まで。この文字列で定義されたジョブは、Linuxの再起動直後の起動時に実行されます。

@rebootを追加するときは、次の構文を使用してください 文字列:

@reboot [path to command] [argument1] [argument2] … [argument n]
@reboot [part to shell script]

Control + Xを押します Nanoを終了するには、 Y およびEnter 行った変更を保存します。

たとえば、システムの日付を date.txtというファイルに書き込む場合です。 Linuxが再起動すると、次の文字列が追加されます。

@reboot date >> ~/date.txt

再起動時にバックアップシェルを実行する場合は、次を追加します。

@reboot /root/backup.sh

起動時に遅延を使用してcronジョブを実行する

システムの再起動後に遅延してジョブを実行するには、 @rebootを追加するときにsleepコマンドを使用します 文字列:

@reboot sleep [time in seconds] && [path to job]

再起動から5分後にシステム日付を含むテキストファイルを作成する場合は、次を追加します。

@reboot sleep 300 && date >> ~/date.txt

再起動コマンドを削除する

@reboot cronタスクリストに追加した文字列は、Linuxが再起動するたびにジョブを実行します。ジョブを実行する必要がなくなった場合は、タスクリストから削除してください。

これを行うには、 crontab -eを使用してタスクリストを開きます 指図。一番下までスクロールして、追加したジョブを確認します。

リストからタスクを削除するには、適切な文字列から適切な行を削除します。 Control + Xを押します Nanoを終了するには、 Y およびEnter 変更を保存します。


Linux
  1. cronタブジョブ内で`date`を実行する方法は?

  2. 複数のブートローダーはEfiシステムパーティションでどのように機能しますか?

  3. 毎晩の再起動をスケジュールする方法は?

  1. Linuxでシステムの稼働時間を確認する方法

  2. システムの再起動が必要かどうかを確認する方法

  3. EFI システム パーティションを作成する方法は?

  1. 方法:Journalctlを使用してシステムログを管理する

  2. 毎週日曜日にcrontabジョブを実行する方法

  3. crontab で単一のジョブをすばやく無効にする方法