はじめに
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
変更を保存します。