なお、最近は cron の代わりに systemd タイマーを利用します。
crontab -e
39 * * * * touch /tmp/test.txt
関連記事:Linux の基本機能 | |||||
---|---|---|---|---|---|
cron の設定
cron は crontab コマンドで設定します。
cronie (crontab) をインストール
crontab は cronie パッケージに含まれるので、cronie をインストールします。
sudo dnf install cronie -y
設定ファイルの編集 -e
crontab -e で設定ファイルを編集できます。
crontab -e
39 * * * * touch /tmp/test.txt
フィールドは前から順番に以下の意味を表します。
フィールド | 値 |
---|---|
分 | 0-59 |
時 | 0-23 |
日 | 1-31 |
月 | 1-12 |
曜日 | 0-7 (0 または 7 が日曜) |
コマンド | 任意のコマンド |
設定の反映・再起動について
設定の反映に再起動は不要です。cron が自動で最新の設定をロードします。
なんらかの理由で再起動したい場合は、systemctl で再起動できます。
sudo systemctl restart crond
cron の動作確認
$ ls -l /tmp/test.txt -rw-r--r-- 1 ec2-user ec2-user 0 6月 26 10:39 /tmp/test.txt
cron により、39 分に自動で touch /tmp/test.txt コマンドでファイルが作成されました。
cron のログを確認
cron のログの場所は /var/log/cron です。
sudo less /var/log/cron
Jun 26 10:39:01 ip-192-0-2-1 CROND[10000]: (user) CMD (touch /tmp/test.txt)
設定の確認 -l
crontab -l で cron の設定ファイルを確認可能です。
crontab -l
39 * * * * touch /tmp/test.txt
設定ファイルのパス
設定ファイルの実体は /var/spool/cron/<ユーザー名> に存在します。
設定の削除 -r
crontab -r で cron の設定ファイルを削除可能です。
crontab -r
sudo ls /var/spool/cron/
anacron
anacron と cron の違い
anacron と cron の主な違いは以下です。
- パソコンの電源が切れているなどで今日の分が未実行であれば、遅れてでも実行
- 周期が最短1日 (cron は分単位)
- 指定した時間にランダムな幅を持たせられる (同時にリクエストが集中するのを避けたり)
関連情報
学習ロードマップ | |||||
---|---|---|---|---|---|
関連記事:Linux の基本機能 | |||||
---|---|---|---|---|---|
Linux カーネルの機能 | |||
---|---|---|---|
ネットワークのコマンド | |||
---|---|---|---|
関連記事:サーバー | ||||
---|---|---|---|---|