目次

8.タスク管理

以下のファイルで定義される。
・/etc/crontab
・/etc/anacrontab
※anacrontabは不勉強なのでcrontabのみ記載する。
 特別な要件が無い限りタスク管理はcrontabのみの運用で十分。

cronとanacronの違い

項目 稼働条件 実行頻度
cron システムが継続的に稼働状態であること 最高で 1 分おきの頻度でジョブの実行が可能です。
anacron システムが稼働していなくても、ジョブを記憶しています。
そして、次回にシステムが立ち上がった時にジョブを実行します。
Anacron は1日に1回しかジョブを実行できません。

https://access.redhat.com/documentation/ja-jp/red_hat_enterprise_linux/6/html/deployment_guide/ch-automating_system_tasks

cron設定

#変更
crontab -e

#適用
systemctl reload crond.service

#確認
crontab -l

crontab設定例

正直色々なサイトで解説があるので、リンク先を参照した方が分かりやすい。
https://webkaru.net/linux/crontab-command/

下記の書式で登録する。
分 時 日 月 曜日 コマンドやスクリプト

支援ツール。
http://scrap.php.xdomain.jp/create_tool/cron_setting_tool/

#毎日3時30分にスクリプトを実行する
30 3 * * * [スクリプト]

#毎週火曜10分毎にスクリプトを実行する
*/10 * * * 2 [スクリプト]

#1月4月6月の土曜日2時にコマンドを実行する
* 2 * 1,4,6 6 [コマンド]

crontabオプション

オプション:
 -u <user>  root以外のユーザー名で実行する場合に指定
 -e         crontabファイルの編集を行います
 -l         crontabファイルの内容を表示します。
 -r         crontabファイル自体を削除します。
 -i         crontabファイル自体を削除する前にプロンプ​​トを表示
 -n <host>  ユーザーのcrontabを実行するようにクラスター内のホストを設定します
 -c         クラスタ内のホストを取得して、ユーザーのcrontabを実行します
 -s         selinuxコンテキスト
 -V         バージョンを表示します
 -x <mask>  デバッグを有効にする