[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[orca-tech:00356] cron について



曳野です。おつかれさまです。


最近、orca-techも静かになりましたけど、orca-usersで少し技術的な話がでて
きましたので、こちらの方で発言させていただきます。

定時の自動バックアップなど、ある一定の時刻に自動的にコマンドを実行してく
れるデーモンとして、「cron」があります。
設定ファイルは「/etc/crontab」です。
デーモンの起動・終了・再起動のスクリプトが「/etc/init.d/cron」です。


実行する時刻・ユーザ・コマンドは「/etc/crontab」に記述することで設定でき
ます。
設定が終わりましたら、以下のコマンドを実行して、cronデーモンを再起動して
ください。

   /etc/init.d/cron restart


以下に「/etc/crontab」ファイルへの設定方法を記載します。
実行する時刻・ユーザ・コマンドの指定の仕方は、以下のとおりです。

   <分> <時> <日> <月> <曜日> <実行ユーザ> <コマンド>

上記の<コマンド>までは、半角の空白で区切られます。

<分><時><日><月>については、実行したい日付や時刻をしていしてください。
また、曜日については、数字と曜日が以下のように対応づけられています。
  0 = 日曜日,  4 = 木曜日
  1 = 月曜日,  5 = 金曜日
  2 = 火曜日,  6 = 土曜日
  3 = 水曜日
<分><時><日><月><曜日>については「*」が使えます。これを指定しますと、毎
分・毎時・毎日・毎月・曜日を問わず、といった指定ができます。(毎分を指定
しますと、大変なことになるかもしれませんので、ご注意ください)

<実行ユーザ>は、次に実行する<コマンド>を実行するユーザを指定します。
これによって、rootユーザでしか実行できないコマンドを実行したり、特定のユー
ザでファイルを作成するといったことができます。

<コマンド>の項目に、実際に実行するコマンドを記述してください。


以下に、簡単な記述例をあげます。

---------------------------------------------------------
例1) 土曜日の夜11時にorca-tユーザの権限でファイルをコピーする

# File Copy
* 23 * * 6 orca-t cp -p /home/orca-t/backup1.tar.gz /mnt/nfs/backup
---------------------------------------------------------

---------------------------------------------------------
例2) 夜の1時10分に、rootユーザでntpdateコマンドを実行する

# NTP schedule (Timer set)
10 1 * * * root /etc/init.d/ntpdate start
---------------------------------------------------------

---------------------------------------------------------
例3) 毎月10日の朝の5時に、rootユーザでmo_backup.shを実行する

# MO Drive Mount and Copy
0 5 10 * * * root /root/scripts/mo_backup.sh
---------------------------------------------------------


ちなみに例3のmo_backup.shは、以下のような感じにします。
---------------------------------------------------------
#! /usr/bin/env sh

# MO Drive Mount
mount -t vfat /dev/sda /mnt/mo

# File Copy
cp -p /root/backup/data.tar.gz /mnt/mo

# MO Drive Unmount
umount /mnt/mo
---------------------------------------------------------
(modconfで「ide-scsi」「vfat」を入れる必要があります)


cronの応用次第で、いろいろなことができます。
詳しくは、「man -S5 crontab」(あるいは「man -a crontab」)や書籍などを
参照してください。


みなさまの参考になりましたら、幸いです。


株式会社 マツケイ   http://www.matsukei.co.jp/
第2システム部 システム開発3課  曳野 正二

P.S.
定時バックアップですが、業務以外のテスト用途でしたら、上記に加えて、何分
か前にorcaユーザでデータベースのバックアップを加えますと、簡単にデータベー
スのバックアップができます。(他にスマートな方法がありますが・・・)
ただし、gpgなどで暗号化していないと、MOを持っていくだけで、簡単に個人情
報が盗まれてしまいますので、ご注意ください。(業務では、暗号化していない
バックアップは、行わないでください)