CentOS6でcronを使いはじめる メモ

ある時刻に実行させたいプログラムを予約したり、定期的に実行させたいプログラムを自動で実行してくれるナイスな機能「cron」を使うためのメモ書きです。こちらを参考にしました。

目次

  • インストール
  • コマンドの書き方
  • 使ってみる

インストール

まずはcronが入っているかどうか確かめましょう。 [VIM] rpm -qa | grep cron #こんな感じの表示が出れば大丈夫 cronie-noanacron-1.4.4-15.el6.x86_64 cronie-1.4.4-15.el6.x86_64 crontabs-1.10-33.el6.noarch #インストールされていない場合はこのコマンドでインストール sudo yum install vixie-cron #cronのサービスが実行されているかチェック sudo chkconfig –list crond #こんな感じなら大丈夫 crond 0:off 1:off 2:on 3:on 4:on 5:on 6:off #crondを起動 sudo service crond start [/VIM]

使用ユーザーの制限

cronは、デフォルトでは全ユーザーが使用可能ですが、制限をかけることも可能です。

  • /etc/cron.allow ファイルを作成すれば、そこに記述されたユーザーのみがcronを使用できる。
  • /etc/cron.deny ファイルを作成すれば、そこに記述されていないユーザーがcronを使用できる。
当方では、/etc/cron.allow ファイルを作成してのホワイトリスト方式で管理しています。 [VIM] sudo vim /etc/cron.allow #内容 #1行に1ユーザー名を記述 #rootは必ず記述しておこう #以下記述例 root hoge piyo #この場合、root,hoge,piyoユーザーのみがcronを使用可能 [/VIM]

コマンドの書き方

インストールが完了したら、コマンドのセットに移ります。ユーザーごとのcronファイルは、/var/spool/cron/ユーザー名 にあります。というわけで、 [VIM] sudo chmod 711 /var/spool/cron #root以外のユーザーが/var/spool/cron内を操作できるようにする sudo vim /var/spool/cron/ユーザー名 #ユーザー名は各自のものに合わせる(このファイルに記述されたcron設定はファイル所有者の権限で実行される) sudo chown ユーザー名:ユーザー名 /var/spool/cron/ユーザー名 #ファイル所有者を編集したユーザーに [/VIM] cronの設定の書き方は、
  • 環境変数は 環境変数名 = 値
  • 実行したいコマンドは 分(0~59) 時(0~23) 日(1~31) 月(1~12 or jan~dec) 曜日(0~7(0,7は日曜) or sun~sat) コマンド の順に書く
…といった感じです。指定しないところは「*」を入れます。また、実行時刻の指定には、リストや範囲も使用可能です。例えば、
  • 0,20,40 …分の指定でこれを行うと、20分に一度処理が行われます。
  • 1-15 …日の指定でこれを行うと、1日~15日に処理が行われます。
  • 1,5,11-13 …時の指定でこれを行うと、1時、5時、11時、12時、13時に処理が行われます。
  • 4-22/3 …時の指定でこれを行うと、4時、7時、10時、13時、16時、19時、22時に処理が行われます。「/」の後ろで指定した間隔で処理が行われます。
[VIM] 25 5 * * * コマンド #毎日5時25分にコマンドを実行 30 0 1 * * コマンド #毎月1日0時30分にコマンドを実行 [/VIM]

環境変数は、とりあえずMAILTOだけ設定しておきましょう。 [VIM] MAILTO = ユーザー名 #↓cronの実行結果通知メールを止める設定 MAILTO = “” [/VIM]

設定を書き換えたら、最後に [VIM] sudo service crond restart [/VIM] でcronを再起動しましょう。

使ってみる

最後に記述例を載せておきます。 [VIM] vim /var/spool/cron/hoge #ここから内容 MAILTO = hoge 15 0 1 * * /usr/bin/php /home/hoge/www/piyopiyo.php #毎月1日0時15分に/home/hoge/www/piyopiyo.phpを実行させる(PHPで) [/VIM]

このブログを応援する・寄付する

当ブログでは暗号通貨による寄付を募っております。

モナゲボタン モナゲボタン

Bitcoin:

Monacoin:

Litecoin: