りんちゃんの日記

日常を書き留めていきます。

cronのインストールとタスク登録(centOS6x)

タスクを登録する為のCronをインストールする

1. インストール

 1.1. インストールされているかの確認
    # rpm -qa|grep cron

  実行結果
  cronie-anacron-1.4.4-12.el6.x86_64

  crontabs-1.10-33.el6.noarch
  cronie-1.4.4-12.el6.x86_64

   1.2. インストール(インストールされていなかったら)
   # yum -y install crontabs vixie-cron

   1.3. 起動確認
   # chkconfig --list crond

  実行結果:3がonになっていればOK
  crond 0:off 1:off 2:on 3:on 4:on 5:on 6:off

   1.4. スタータス確認
   # service crond status

  実行結果:3がonになっていればOK
  crond 0:off 1:off 2:on 3:on 4:on 5:on 6:off

   1.5. cronのファイルを開く。編集方法(一般な方法?)
    # su - ユーザ

 # vi /var/spool/cron/<ユーザ名>

 または 

 # crontab -e (実行ユーザ)

 

2. 準備 

   2.1. 実行するユーザ単位でディレクトリを作成する
 # mkdir /var/sh/root

 

   2.2. backupシェル作成

 mysqldump.shファイルを編集する(myslqのバックアップをする。dump)
 # vi /var/sh/root/mysqldump.sh

    #!/bin/sh
   mysqldump --user=root --password=oracle jusmine > /var/backup/jusmine_`date +%Y%m%d-%H%M`.sql

  

  2.3. deleteシェル作成

 logdelete.shファイルを編集する(myslqのバックアップファイルが7日以上のものを削除)
 # vi /var/sh/root/logdelete.sh

    #!/bin/sh
    find /var/backup/jusmine/*.sql -mtime +7 -exec rm -f {} \;

 

   2.3. mycnf.shファイルを編集する

  mysqldump.shファイルを編集する(mycnf.shバックアップをする。)
   # vi /var/sh/root/mycnf.sh

        #!/bin/sh
   cp -rp /etc/my.cnf /var/backup/my.cnf

3. 実行ファイルをスケジューラーに登録する

   3.1. crontab -eでファイルを開いてViで編集する
 # crontab -e

   毎日5時、mysqlのバックアップ取得
   0 5 * * * /var/sh/root/mysqldump.sh

   毎日6時、delete処理
   0 6  * * * /var/sh/root/logdelete.sh

   毎日6時、mysqlのconfをバックアップする
   6 0 * * * /var/sh/root/mycnf.sh

 

   3.2. ログの確認
  # cat /var/log/cron

【補足】 プログラムのログファイルを作成する場合

 00 04 * * * /usr/bin/php /var/report/app/test/main.php >> /home/rinkai/test_`date '+\%Y\%m\%d'`.log