近頃版/another blog@hatena/Wiki/BBS
< 土壌と収穫 | 一気見 >
データ類の移植はおおむね済んだのでバックアップ関連スクリプトの整備とか。
cvsのバックアップのためにcvsupの設定。これは旧マシンの設定ファイルを取ってきてほぼ完了。
subversionのバックアップはこの際dumpをベースにしたものに切り換え。ちょっとだけ面倒なスクリプトを書く。
_daily_backup.sh:
#!/bin/sh SVN_ORIGIN=/path/to/repos SVN_BACKUP=/path/to/backup LAST_REVISION_FILE="$SVN_BACKUP/LAST_REVISION" echo '---' Backup start at `/bin/date` echo '- Exec cvsup on master -' /usr/local/bin/cvsup -Z -g -L 2 /opt/backup/cvs/supfile echo '- Exec subversion dump -' REVISION_FROM=`cat $LAST_REVISION_FILE` REVISION_TO=`svnlook youngest $SVN_ORIGIN` WDAY=`date +'%w'` if (test $WDAY = 0) then echo 'exec full dump' mv $SVN_BACKUP/dumped* $SVN_BACKUP/last_week svnadmin dump -r 1:$REVISION_TO --incremental $SVN_ORIGIN > $SVN_BACKUP/dumped.all elif (test $REVISION_FROM -lt $REVISION_TO) then echo incremental dump $REVISION_FROM to $REVISION_TO let REVISION_FROM+=1 svnadmin dump -r $REVISION_FROM:$REVISION_TO --incremental $SVN_ORIGIN > $SVN_BACKUP/dumped.$WDAY else echo no dump because revision fixed. fi echo $REVISION_TO > $LAST_REVISION_FILE echo Backup finished at `/bin/date` '---'
このスクリプトを定期実行するために以下のスクリプトを書いた。
/etc/daily.local:
#!/bin/sh /path/to/backup_dir/daily_backup.sh >> /path/to/backup_dir/backup.log
これだけで後はcrontabにデフォルトで書かれたperiodicが毎日実行してくれるはず。後で確認すること。
_そういった諸々の作業と並行して最終データ移行のスクリプトをまとめておく。旧マシンのとのリプレース前の手順は以下の通り:
_あとは念のためkernelとworldをbuild & install……してみたら、mergemasterの段階でこっそりミスって/etc/defaults/rc.confを吹きとばしたために共有ライブラリ解決で/usr/local/libとかを見に行かなくなって往生した。ダサい。