メインPCを毎朝目覚まし代わりに用いていることを考えて、毎日指定時間になると起動するようにします。また、週一の間隔で設定ファイルやログなどをバックアップさせます。
このような自動起動にはcronを利用します。
■ログインしているユーザのcrontabファイル編集
$ crontab -e これでユーザごとのcronを設定できます。
設定書式は "分 時 日 月 曜日 コマンド"
利用できる文字は
分 0~59,*
時 0~23,*
日 1~31,*
月 1~12 or jan~dec ,*
曜日 0~7 [0,7は日曜日] or sun~sat .*
コマンド 有効なコマンドを記述します。空白を含むことも可能ですが、標準のBourne Shellの書式に従って記述します。
※*を使用すると全指定の意味
#MainMachineへのWakeOnLan起動
#毎日6:30に起動させる
30 6 * * * /var/bkup/sh/wakeonlan.sh
#ファイルバックアップ
#週一(FRI)
0 4 * * 5 /var/bkup/sh/bkup.sh
cron の設定ガイド
http://www.express.nec.co.jp/linux/tech/knowledge/system/crond.html
cron
http://tech.bayashi.net/svr/doc/cron.html
cronの設定
http://park15.wakwak.com/~unixlife/linux/sys-cron.html
■バックアップ用シェルスクリプト
上記cronで指定しているbkup.shの内容です。
■ファイル構成
bkup.sh :バックアップ用シェルスクリプト本体
bksrc.dat:バックアップ元ファイルパス設定ファイル
■シェルスクリプト内容
#! /bin/sh
#バックアップ元ファイル読み込みパスと保存ファイル名読み込み、ループ開始
cat bksrc.dat | grep -v \# | while read DIR_NAME FILE_NAME
do
BKSRC=.$DIR_NAME
#日付取得し変数に代入(コマンド変数のため`が付く)
TIMESET=`date +%y%m%d`
#バックアップ先ファイル名を設定 設定ファイルにあるファイル名+日付.tar.gzする
BKDIR=/var/bkup/$FILE_NAME.$TIMESET.tar.gz
cd /
#tarコマンドで元ディレクトリを圧縮
tar zcf $BKDIR $BKSRC
#成功したらその旨を表示かつ、ログに保存
if [ $? = 0 ]; then
logger "Backup OK $BKDIR"
echo "Backup OK $BKDIR"
else
logger "Backup NG $BKDIR"
echo "Backup NG $BKDIR"
fi
done
■設定ファイルの書式
バックアップ元ディレクトリ名 バックアップ先ファイル名
例:
/etc etc
/var/log var_log
/var/bkup/pass var_bkup_pass
/var/bkup/sh var_bkup_sh
/usr/local/dice