FreeBSD/rsync のバックアップソース(No.5)

*rsync [#e8675766]
((参考にしたページ:http://bio-math10.biology.kyushu-u.ac.jp/~tohya/tips/unibase.html#rsync))
**インストール [#re9ca117]
 # cd /usr/ports/net/rsync
 # make install

**バージョン [#de7d060c]
rsync  version 2.6.9

**書式 [#p16dc91e]
 rsync オプション [ホスト名:]コピー元ファイル/ディレクトリ名 [ホスト名:]コピー先ファイル/ディレクトリ名

**オプション [#ne91b4f2]
|-v|バックアップ中にコピーしているファイル名を表示する |
|-r|指定したディレクトリ以下を再帰的にコピーする |
|-l|シンボリックリンクはそのままコピーする。指定しないとリンク先の実体がコピーされる |
|-H|ハードリンクはそのままコピーする。指定しないとリンク先の実体がコピーされる |
|-p|パーミッション属性をたもったままコピーする |
|-o|所有者属性をたもったままコピーする。指定しないと属性はコピーしたユーザーのものになる |
|-g|グループ属性をたもったままコピーする。指定しないと属性はコピーしたユーザーのものになる |
|-t|タイムスタンプをたもったままコピーする |
|-D|デバイスファイルをたもったままコピーする |
|-z|データを圧縮して転送する |
|-u|追加されたファイルだけをコピーする |
|-a|上記のオプションで「rlptgoD」を同時に指定する |
|--existing|更新されたファイルだけをコピーし、追加されたファイルは無視する |
|--delete|コピー元で削除されたファイルは、コピー先でも削除する。-aオプションと同時に指定するとコピー元とコピー先を同期できる |
|--exclude '**'|**に一致するファイルはコピーしない。「*.bak」「*~」など特定のファイルを除外したいときに使う |
|--stats|コピーの結果を表示する。指定しないといっさいのメッセージは表示されない |
|-e ssh|暗号化してファイルを転送する。コピー先としてネットワークでつながった別のホストを指定するときに使う |

オプション-e sshを使って、自動でホスト間のバックアップを行うにはSSHの設定が必要です。~
[[FreeBSD/SSHD鍵]]

**例 [#uaba3c4a]
・/homeを/work/backupとしてバックアップし、同期させる。
 # rsync -av --delete /home /work/backup
・/homeをdynabookホストの/work/backupとしてバックアップし、同期させる。
 # rsync -av --delete /home dynabook:/work/backup

*デーモンで立ち上げる場合 [#nf778812]

**/etc/inetd.confに追加 [#x93f9cb4]
 # vi /etc/inetd.conf
 rsync stream tcp nowait root /usr/local/bin/rsync rsyncd --daemon

**/usr/local/etc/rsyncd.conf [#b0556a69]
 pid file = /var/run/rsyncd.pid
 log file = /var/log/rsync.log
 syslog facility = local5
 uid = root
 gid = wheel
 
 [home]
 comment      = home data
 path         = /home

**ログファイル作成 [#n28ef669]
 # touch /var/log/rsync.log

**実行例 [#d0a11bb2]
 $ rsync -rv rsync://localhost/home /work/home_backup
 home            home data