2 RsyncXでバックアップ

December 17, 2004. Tags: Mac, OpenSource.

RsyncX

ラボでiMacG5を使い始めてしばらく経ちましたが、自宅ではWindowsマシンからVPNでiMacG5にアクセスして仕事の続きをする体制です。VPN経由のファイル共有でファイルを失ったことはないんだけど、やや心もとないのでiMacから大学のサーバに毎夕バックアップをとることにしました。

使うツールはopensourceのincremental backupツールであるrsyncにMacのHFS+サポートを追加したRsyncX 2.1macosxlabs.orgで公開されています。

rsync/RsyncXはかなり高機能なツールで、バックアップサーバマシンにリモートログインしてファイルをpush/pullすることもできるらしい。さらにRsyncXのGUIフロントエンドはscript generator、cronのscheduler、サーバ・クライアントのセットアップアシスタントと充実しています。スゴイ。

でも自分で使う限りは、自分のマシンにマウントしたサーバのhomeディレクトリをローカル扱いしてコピーすれば十分。スクリプトも自分で書くことにしました。何でRsyncXを使いたいかっていうと、1 GBくらいのディレクトリから更新されたファイルだけincremental backupしたいから。

#!/bin/bash
a=$(date)
echo $a START Backup >> /Users/matopc/Documents/Backup/rsyncx.log
rsync -avzu --delete --stats /Users/matopc/Documents/Docs /Volumes/Server/Documents >> /Users/matopc/Documents/Backup/rsyncx.log
a=$(date)
echo $a END Backup >> /Users/matopc/Documents/Backup/rsyncx.log

rsyncのmanはDarwin man pagesでもcheckできます。上のスクリプトで使ったオプションは

-v, --verbose increase verbosity
-a, --archive archive mode, equivalent to -rlptgoD
-r, --recursive recurse into directories
-l, --links copy symlinks as symlinks
-p, --perms preserve permissions
-t, --times preserve times
-g, --group preserve group
-o, --owner preserve owner (root only)
-D, --devices preserve devices (root only)
-z, --compress compress file data
-u, --update update only (don't overwrite newer files)
--delete delete files that don't exist on the sending side
--stats give some file transfer stats

一応、logを作成するようにしました。あとはいつも使ってるCronnixでcron jobを設定。It works! :grin:

2004/12/20追記

MacOS Finderの不可視ファイル(.FBC*)と(.DS_Store)をバックアップから除外する事にしました。
追加するオプションは

--exclude='.FBC*' --exclude='.DS_Store'

最終的なスクリプトは

#!/bin/bash
a=$(date)
echo $a START Backup >> /Users/matopc/Documents/Backup/rsyncx.log
rsync -avzu --delete --stats --exclude='.FBC*' --exclude='.DS_Store' /Users/matopc/Documents/Docs /Volumes/Server/Documents >> /Users/matopc/Documents/Backup/rsyncx.log
a=$(date)
echo $a END Backup >> /Users/matopc/Documents/Backup/rsyncx.log

となりました。

2004/12/29追記
とおりがかりさんからのコメントでHFS+追加情報を含めてコピーするオプションを外していたことに気づきました。せっかく対応しているrsyncを使っているので、特にHFS+ -> HFS+のバックアップをする方はオプションを入れておくとMacOS時代からのfile type/creater情報、ファイルによってはサムネイルなどが保持されると思います。 :grin:
と書きながらマウントした別volumeで動くかテストできていませんのでご注意を。Local HD(HFS+)内の別ディレクトリへのコピーならいいみたいだけど。

--eahfs rsync with extended HFS+ attributes

バックアップvolumeがHFS+以外の場合やWindowsと共用で拡張子付きで管理している場合はオフでもよさそうです。

2 Responses to 'RsyncXでバックアップ' (RSS)

Trackbacks & Pingbacks (Trackback URI)

No trackbacks or pingbacks yet.

Comments

  1. Comment by とおりがかり - December 29, 2004 @ 1:36 am

    このスクリプトだとhfs+のオプションが入っていないのでリソースフォークが
    欠落してしまっているように見受けられるのですが大丈夫でしょうか?

  2. Comment by matopc - December 29, 2004 @ 10:21 am

    とおりがかりさん、コメントありがとうございます。
    > hfs+のオプション
    確かにそうですね。ふだん拡張子を付けてるので全然気づきませんでした。 :grin:
    スクリプトでご迷惑をおかけしていたらスミマセン。

Leave a Comment