Rsync
提供: Wikinote
コマンド
- ソース側のパスの最後が / で終わるか /* を付けた場合、ターゲット側で中身が展開される。ターゲット側の / の有無は影響しない。
$ rsync -av src dst => dst/src が作成される。 $ rsync -av src/ dst $ rsync -av src/* dst => dst 内に src の中身が展開される。
このため、スクリプトなどではバックアップ先のディレクトリ名まで明記するか、バックアップ先だけを並べるのが良さそう。
$ rsync -av src1/ /backup/src1/ $ rsync -av src2/ /backup/src2/ または $ rsync -av src1 /backup $ rsync -av src2 /backup
設定
cron で定期的に rsync バックアップ
サーバ側の設定
ここでは、CentOS 5 を使用する。
[root@lucida ~]# rpm -q rsync rsync-3.0.6-4.el5_7.1 [root@lucida ~]# cat /etc/rsyncd.conf ★サーバ側の設定 uid = root gid = root read only = no hosts allow = 192.168.1.2 hosts deny = * log file = /var/log/rsyncd.log [backup] path = /home/share ★バックアップ領域 [root@lucida ~]# cat /etc/logrotate.d/rsync ★ログローテートの設定 /var/log/rsyncd.log { weekly missingok } [root@lucida ~]# iptables -nL Chain INPUT (policy DROP) target prot opt source destination ... ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:873 ★ポート開放 ... [root@lucida ~]# chkconfig rsync on ★開始 [root@lucida ~]# chkconfig --list rsync rsync on
クライアント側
ここでは、CentOS 6 を使用する。
[root@courier ~]# rpm -q rsync rsync-3.0.6-9.el6.x86_64 [root@courier ~]# cat /etc/cron.weekly/rsync-backup ★cron で週 1 で動かす #!/bin/bash /usr/bin/rsync -av --delete --log-file=/var/log/rsync.log /backup/* lucida::backup >/dev/null 2>&1 ※/backup だけ指定すると、lucida:/home/share に backup ディレクトリが 作成されてしまうので注意。 [root@courier ~]# cat /etc/logrotate.d/rsync ★ログローテートの設定 /var/log/rsync.log { weekly missingok }