- 1. 概要
- 2. 基本
- 3. 書式
- 4. 参考サイト
1. 概要
「cron」について、基本的なことを記述します。
まず、概要で、「FreeBSD」のマニュアルをそのまま転記します。
cron ユーティリティは、通常は /etc/rc もしくは /etc/rc.local から起動されます。このコマンドは実行するとすぐに返ってくるので、起動時に '&' をつける
必要はありません。
cron ユーティリティは、 /var/cron/tabs ディレクトリの下から /etc/passwd 内のアカウント名と同じ名前の crontab ファイルを探し、見つかったファイルをメモリに読み込みます。 cron ユーティリティは、別のフォーマットの /etc/crontab (crontab(5) を参照してください) も調べます。このあと、 cron ユーティリティは 1 分おきに目覚めて読み込んでいるすべての crontab ファイルを調べ、各コマンドをその時刻に実行させるべきかどうかを調べます。コマンドを実行する場合には、出力がメールで crontab ファイルの所有者 (もしくはcrontab ファイル内の環境変数 MAILTO で指定されたユーザ) に送られます。
さらに、 cron は 1 分おきにスプールディレクトリの最終更新時刻(/etc/crontab の最終更新時刻も ) が変わっているかどうかを調べます。もし変化があれば、 cron は crontab ファイルすべての最終更新時刻を調べ、変更の
あったものを読み直します。このため、 crontab ファイルを変更したときにcron をリスタートさせる必要はありません。 crontab(1) コマンドが crontabファイルを変更したときにスプールディレクトリの最終更新時刻も更新されるこ
とに注意して下さい。
2. 基本
「cron」は、基本的に。
/etc/crontab
/etc/cron.d/*
に書いてある内容を実行します。
編集する際は、本来は。
crontab -e user_name
で、デフォルトのエディタが開いて、「user_name」の権限で処理を実行します。
わたしは、面倒なので、「root」ユーザ権限で。
vi /etc/crontab
で、直接編集しちゃってます。
ちなみに、「/etc/crontab」は、「Vixie Cron」系という書式はで記述されており、「FreeBSD」でも「Linux」でも同じ書式が使えます。
3. 書式
「/etc/crontab」は、「FreeBSD 14.3 RELEASE」では、デフォルトでは下記のように記述されています。
# /etc/crontab - root's crontab for FreeBSD
#
#
SHELL=/bin/sh
PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin
#
#minute hour mday month wday who command
#
# Save some entropy so that /dev/random can re-seed on boot.
*/11 * * * * operator /usr/libexec/save-entropy
#
# Rotate log files every hour, if necessary.
0 * * * * root newsyslog
#
# Perform daily/weekly/monthly maintenance.
1 3 * * * root periodic daily
15 4 * * 6 root periodic weekly
30 5 1 * * root periodic monthly
#
# Adjust the time zone if the CMOS clock keeps local time, as opposed to
# UTC time. See adjkerntz(8) for details.
1,31 0-5 * * * root adjkerntz -a
#minute hour mday month wday who command
の行が、書式の説明になっていて。
分 時 日 月 曜日 実行者 実行コマンド
と記述します。
実行コマンドまでは、空白もしくはタブで区切ります。
下記のように書けば、毎分起動することになります。
* * * * * who command
下記のように書けば、毎正字「**:02」に起動することになります。
2 分周期なんぞは、どうするんじゃろうかと思ったら。
*/2 * * * * who command
で、いいそうで、分単位の「*/x」の分母が周期になるようです。
これは、時・日・月にも応用できるんじゃろうと思います。
4. 参考サイト
本ページは、「FreeBSD」のマニュアルおよび「ChatGPT」軍曹を参考にさせていただきました。
|
|