認識されなくなった PowerMac G5 のディスクだが、無事Data Rescue IIでほとんどのデータを救出できた。感謝、感謝。
で、やっぱりちゃんとバックアップはとっとかんといかんな、というわけで、次のようなスクリプトを cron で1日1回走らせることにした。/etc/daily.local
というシェルスクリプトを作り、その中から呼び出せばよい。
#!/bin/sh # Backup the directory to a local (external) hard drive # 2008.09.04. Toshi Nagata echo "rsync_backup start at `date`" src_dir=/Volumes/Common dst_dir=/Volumes/Backup_1/Common_Backups back_dir=`date +_%Y%m%d_%H%M%S_` for src in $src_dir do rsync -a -v --delete --backup --backup-dir=$back_dir $src $dst_dir done cd $dst_dir perl -e '@f = sort { -M $a <=> -M $b } <_*_>; splice(@f, 0, 30); exec "rm -rf @f" if $#f >= 0; ' echo "rsync_backup end at `date`"
--backup-dir
オプションを使って、古いファイルを日付・時刻のついたディレクトリに退避させている。--link-dest
を使うと、Time Machine と同じような履歴管理ができるはずだけど、HFS+ でハードリンクを扱うのが少々不安で、今回は見送った。なお、下の方にある Perl スクリプトは、退避ディレクトリを30個を上限として古い方から削除するもの。