Whiteのふりーとーく

置換計画(4)

About this Page |過去分一覧

近頃版/another blog@hatena/Wiki/BBS

< 土壌と収穫 | 一気見 >

 

置換計画(4)

データ類の移植はおおむね済んだのでバックアップ関連スクリプトの整備とか。

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とかを見に行かなくなって往生した。ダサい。

TrackBack ping url:

名前

TrackBack:


御意見・御感想の宛先white@niu.ne.jp