Linuxのcronについてのメモ

Linuxのcronについてのメモ

2021/09/23
Linux

cronとは

cronとは、Linuxでジョブを定期実行する為の機能です。Linuxの標準機能です。
cronを利用するには crond(cronデーモン) が起動している必要があります。こちらLinuxインストール時に自動で稼働します。

cronのコマンド

起動確認

systemctl status crond.service

以下のようにrunnungになっていれば起動中です。

[ec2-user@ip-10-0-0-84 ~]$ systemctl status crond.service
 crond.service - Command Scheduler
   Loaded: loaded (/usr/lib/systemd/system/crond.service; enabled; vendor preset: enabled)
   Active: active (running) since Thu 2021-09-23 05:14:35 UTC; 5min ago
 Main PID: 4136 (crond)
    Tasks: 1
   Memory: 952.0K
   CGroup: /system.slice/crond.service
           └─4136 /usr/sbin/crond -n

起動していなければ、以下のコマンドでcrondを起動します。

systemctl start crond.service

登録済みのcronを確認

現在登録済みのcronのジョブを確認することができます。

crontab -l

cronの追加(編集)

crontab -e

cronの削除

crontab -r

cronの例

左端から頻度指定可能数値
10~59
20~23
31~31
41~12
5曜日0~7(0と7は日曜)

◎10分おきにdateコマンドを実行して/tmp/a.txtに保存するという例

*/10 * * * * date >> /tmp/a.txt

/tmp/a.txtを確認してみる。

cat /tmp/a.txt

以下のように10分おきにコマンドが実行される。

[ec2-user@ip-10-0-0-84 ~]$ cat /tmp/a.txt
Thu Sep 23 05:10:01 UTC 2021
Thu Sep 23 05:20:01 UTC 2021
Thu Sep 23 05:30:01 UTC 2021
Thu Sep 23 05:40:01 UTC 2021

■設定ファイルを表示

cronの設定を指定します。

cat /etc/crontab
key意味
SHELLcronで実行されるシェルを設定する/bin/bash
PATHcronに教えるパスの設定/sbin:/bin:/usr/sbin:/usr/bin
MAILTOcronの実行結果を送るユーザーまたはメールアドレス。送信しない場合は「MAILTO=""」とするroot
HOMEcronが実行されるカレントディレクトリ/

なにかお手伝いできることがあればご連絡ください。

お問い合わせはこちらから

※Googleフォームが表示されます