Apr 19, 2011
Mac で簡易バックアップ
Mac は rsync (1) が標準で搭載されていて 簡単に差分転送する事ができるので、 簡易的なバックアップが手軽に実施できて便利である。
以下のコードはリモートサーバのディスクを samba 形式で mount (8) し、
rsync (1) で同期するためのスクリプト。
バックアップ先のディスクを samba 形式でマウントするので、
バックアップ先が Windows パソコンでも動作する。
Finder の共有から一度バックアップ先のディスクにアクセスして
パスワードをキーチェーンに記憶させると、
以降はパスワードの問い合わせがなくなるので便利だろう。
バックアップ先が unix 系のサーバの場合であれば、
mount (8) しないで rsync (1) に
直接リモートサーバを指定しても良い。
その場合 -e オプションを指定して
ssh (1) 経由で転送する事が望ましい。
1#!/bin/sh 2 3# バックアップ対象(= バックアップ先ディレクトリ) 4target="Pictures Music" 5# バックアップ先サーバ 6Server="<u>リモートサーバ</u>" 7# バックアップ元ディレクトリを格納しておき eval(1) で展開する 8Pictures="Pictures" 9Music="Music/iTunes/iTunes Music" 10 11# "-f" オプションを指定しない場合は実際には転送しない 12test "$1" = "-f" || dry=n 13 14for i in ${target} 15do 16 src="${HOME}/`eval echo '$'${i}`" 17 dst="/Volumes/${i}" 18 19 mkdir -p ${dst} 20 mount -t smbfs //${Server}/${i} ${dst} 21 rsync -avz${dry} --delete --exclude '._*' --exclude .DS_Store "${src}/" "${dst}" 22 umount ${dst} 23done
Edit this entry...
wikieditish message: Ready to edit this entry.
A quick preview will be rendered here when you click "Preview" button.