概要
指定した日付の時分で、コマンドを実行させたいときに使う。JOBスケジューラーみたいな。
ユーザはそれぞれ自分用の crontab を持っており、 各 crontab に与えられたコマンドは、 その crontab を所有しているユーザの権限で実行されることになる。 (manから抜粋)
使用してみる
# crontab -e bash: crontab: コマンドが見つかりません #
なぜだ。crontabがない。。。。
インストール済みのパッケージの内容を確認
# yum list | grep cron PackageKit-cron.x86_64 0.5.8-26.el6 base cronie.x86_64 1.4.4-16.el6_8.2 base cronie-anacron.x86_64 1.4.4-16.el6_8.2 base cronie-noanacron.x86_64 1.4.4-16.el6_8.2 base crontabs.noarch 1.10-33.el6 base <--- @がついてないのでインストールされていない rpm-cron.noarch 4.8.0-59.el6 base yum-cron.noarch 3.2.29-81.el6.centos base #
crontabインストール!
yum install crontabs 読み込んだプラグイン:fastestmirror, refresh-packagekit, security インストール処理の設定をしています Loading mirror speeds from cached hostfile base: ftp-srv2.kddilabs.jp extras: ftp-srv2.kddilabs.jp updates: ftp-srv2.kddilabs.jp 依存性の解決をしています --> トランザクションの確認を実行しています。 ---> Package crontabs.noarch 0:1.10-33.el6 will be インストール --> 依存性の処理をしています: /etc/cron.d のパッケージ: crontabs-1.10-33.el6.noarch --> トランザクションの確認を実行しています。 ---> Package cronie.x86_64 0:1.4.4-16.el6_8.2 will be インストール --> 依存性の処理をしています: dailyjobs のパッケージ: cronie-1.4.4-16.el6_8.2.x86_64 --> トランザクションの確認を実行しています。 ---> Package cronie-anacron.x86_64 0:1.4.4-16.el6_8.2 will be インストール --> 依存性解決を終了しました。 依存性を解決しました ================================================================================ パッケージ アーキテクチャバージョン リポジトリー容量 ================================================================================ インストールしています: crontabs noarch 1.10-33.el6 base 10 k 依存性関連でのインストールをします。: cronie x86_64 1.4.4-16.el6_8.2 base 75 k cronie-anacron x86_64 1.4.4-16.el6_8.2 base 31 k トランザクションの要約 ================================================================================ インストール 3 パッケージ総ダウンロード容量: 116 k インストール済み容量: 220 k これでいいですか? [y/N]y パッケージをダウンロードしています: (1/3): cronie-1.4.4-16.el6_8.2.x86_64.rpm | 75 kB 00:00 (2/3): cronie-anacron-1.4.4-16.el6_8.2.x86_64.rpm | 31 kB 00:00 (3/3): crontabs-1.10-33.el6.noarch.rpm | 10 kB 00:00 -------------------------------------------------------------------------------- 合計 224 kB/s | 116 kB 00:00 rpm_check_debug を実行しています トランザクションのテストを実行しています トランザクションのテストを成功しました トランザクションを実行していますインストールしています : cronie-1.4.4-16.el6_8.2.x86_64 1/3 インストールしています : crontabs-1.10-33.el6.noarch 2/3 インストールしています : cronie-anacron-1.4.4-16.el6_8.2.x86_64 3/3 Verifying : crontabs-1.10-33.el6.noarch 1/3 Verifying : cronie-anacron-1.4.4-16.el6_8.2.x86_64 2/3 Verifying : cronie-1.4.4-16.el6_8.2.x86_64 3/3 インストール: crontabs.noarch 0:1.10-33.el6 依存性関連をインストールしました: cronie.x86_64 0:1.4.4-16.el6_8.2 cronie-anacron.x86_64 0:1.4.4-16.el6_8.2 完了しました! # # crontab -l no crontab for root # # yum list | grep crontabs crontabs.noarch 1.10-33.el6 @base
動作確認
#crontab -e
設定した時間になっても、動作しない。。。
デーモンがどうとか、manに記載があったのでデーモンの起動方法をググる
# service crond start crond を起動中: [ OK ] #
22分まで待つ
# ls -l /tmp/cron.log -rw-r--r-- 1 root root 59 9月 29 20:22 2018 /tmp/cron.log #
YES!
以下、おさらい。
設定の確認
# crontab -l # コメントがうてる 22 * * * * ls > /tmp/cron.log #
分、時、日、月、曜日、コマンド という形式
設定する
crontab -e
# コメント
# 分、時、日、月、曜日、コマンドという形式 #は、コメント行 * * * * * ls
- 範囲
# 20分から30分まで実行 20-30 * * * * ls
/ 刻み
# 5分毎に実行 */5 * * * * ls
全削除する
※なんの確認もなく、一瞬にして全削除されるので気をつけること
crontab -r

コメント