back

1 minute rsync

これは何?

データのミラーリング等の用途で大変有名なrsyncですが、オプションの数があまりにも多いため、ちょっと敬遠されがち。でも基本的な使い方くらいは知っておきたいよね、という方へ。1分で読めるrsyncへの手引き。

基本

rsyncをclientserverにいれ、sshでつなげるようにしておく。

wids.netディレクトリをserverのwids.netディレクトリと同期
rsync -avz ~/public_html/wids.net/ server:~/public_html/wids.net/
/を抜いた誤った例(wids.net/wids.netというディレクトリが掘られる)
rsync -avz ~/public_html/wids.net server:~/public_html/wids.net/

オプション

-v (--verbose)-q (--quiet)-z (--compress)-n (--dry-run)は他のプログラムと共通。

-a (--archive)
-rlptgoDをセット。rはrecursive、lはシンボリックリンクをシンボリックリンクとして保存、pはパーミッション、tは時間、gはgroup(rootのみ)、oはuser(rootのみ)をそれぞれ保持する。Dはデバイスファイル(rootのみ)及びスペシャルファイルをそのまま保存。
-u (--update)
server側にあるファイルがclient側のファイルより新しいファイルは転送をスキップ。
--delete
serverで削除されたファイルをclientでも削除。自殺したい人は実行前に-nなどという弱気なことはしてはいけない。

その他

--excludeその他のオプションの使い方についてはman rsyncのこと。