RHEL 7 – RHCSA ノート (チート シート)
– Linux はタスクを自動的に実行でき、自動タスク ユーティリティが付属しています:cron、anacron、at、batch .
– cron ジョブは毎分実行できます。
– システムがダウンしている場合、スケジュールされた cron ジョブはスキップされます。
– anacron 1 日に 1 回だけジョブを実行できます。
– スケジュールされたジョブは記憶され、次回システムが起動したときに実行されます。
– crond デーモンは、複数のファイルとディレクトリを検索して、スケジュールされたジョブを探します:
1. /var/spool/cron/ 2. /etc/anacrontab 3. /etc/cron.d
cron ジョブの構成
cron ジョブは /etc/crontab で定義されます。
crontab エントリは次の形式です:
Minutes Hours Date Month Day-of-Week command
where: Minutes = [0 to 59] Hours = [0 to 23] Date = [1 to 31] Month = [1 to 12] Day-of-Week = [0 to 6] 0=Sunday - 6=Saturday command = a script file or a shell command. Other special characters can be used: - An asterisk (*) can be used to specify all valid values. - A hyphen (-) between integers specifies a range of integers. - A list of values separated by commas (,) specifies a list. - A forward slash (/) can be used to specify step values.
その他の cron ディレクトリとファイル
/etc/cron.d
– /etc/crontab と同じ構文のファイルが含まれています – root 権限でのみアクセスできます
– /etc 内の他の cron ディレクトリ:–
cron.hourly cron.daily cron.weekly cron.monthly
– これらのディレクトリ内のスクリプトは、ディレクトリの名前に応じて、毎時、毎日、毎週、または毎月実行されます。
– /etc/cron.allow および /etc/cron.deny ファイルは、cron へのユーザー アクセスを制限します。どちらのファイルも存在しない場合、root のみが cron を使用できます。
Crontab ユーティリティ
– root 以外のユーザーも crontab ユーティリティを使用して cron を構成できます。
– ユーザー定義の crontab は /var/spool/cron/[username] に保存されます .
– crontab エントリを作成または編集するには:
# crontab -e
– ユーザー定義の crontab のエントリを一覧表示するには:
# crontab -l
anacron ジョブの設定
– anacron ジョブは /etc/anacrontab で定義されています .
– ジョブは以下によって定義されます:
Period in days : frequency of execution in days Delay in minutes - Minutes to wait before executing the job job-identifier - A unique name used in logfiles command : a shell script or command to execute
anacron ファイルの例 :
SHELL=/bin/sh PATH=/sbin:/bin:/usr/sbin:/usr/bin MAILTO=root # the maximal random delay added to the base delay of the jobs RANDOM_DELAY=45 # the jobs will be started during the following hours only START_HOURS_RANGE=3-22 #period in days delay in minutes job-identifier command 1 5 cron.daily nice run-parts /etc/cron.daily 7 25 cron.weekly nice run-parts /etc/cron.weekly @monthly 45 cron.monthly nice run-parts /etc/cron.monthly
at とバッチ
– at ユーティリティと batch ユーティリティは、1 回限りのタスクのスケジューリングに使用されます。
– at コマンドは、特定の時間にタスクを実行します。
– batch コマンドは、システム負荷平均が 0.8 未満のときにタスクを実行します。
– at またはバッチ ジョブを実行するには、atd サービスが実行されている必要があります
– at コマンド構文:
# at time
– 時間引数は複数の形式を受け入れます:
HH:MM MMDDYY,MM/DD/YY or MM.DD.YY month-name day year midnight: At 12:00 AM teatime: At 4:00 PM now + time -- here time can be minutes, hours, days or weeks
– バッチ コマンド構文:
# batch (at> promp is displayed)
– /etc/at.allow および /etc/at.deny ファイルは、ユーザー アクセスを at に制限します。どちらのファイルも存在しない場合、root のみが cron を使用できます。