Debian 7.0
Sponsored Link

rsync - ファイル/ディレクトリの同期2013/06/05

 
rsyncを利用して、あるホスト内のファイル/ディレクトリを、別ホスト内へコピーします。
rsyncの基本的な使い方はリンク先の通りで、ローカルマシン上のあるファイル/ディレクトリをローカルマシン上の別ディレクトリにコピーするだけであれば、 単にコマンドをcron登録しておけば良いだけなのですが、対象のいずれかが別ホストになるとそのホストの管理者パスワードを問われるため、 以下のように前もってrsyncでの同期を許可する設定をしておきます。
以下の例ではコピー元ホスト [10.0.0.31] の /var/www 配下のファイル/ディレクトリを、コピー先ホスト [10.0.0.30] の /home/backup 配下にコピーするようにします。
[1] コピー先ホストの設定です。
root@dlp:~#
aptitude -y install rsync
root@dlp:~#
vi /etc/default/rsync
# 8行目:変更

RSYNC_ENABLE=
true
root@dlp:~#
vi /etc/rsyncd.conf
# 名前(テキトーに)

[site]
# コピー先対象ディレクトリ

path = /home/backup
# コピーを許可するホスト(コピー元ホストを指定)

hosts allow = 10.0.0.31
hosts deny = *
list = true
uid = root
gid = root
read only = false
root@dlp:~#
mkdir /home/backup

root@dlp:~#
/etc/init.d/rsync start

Starting rsync daemon: rsync.
[2] コピー元ホストの設定です。
root@www:~#
aptitude -y install rsync
root@www:~#
vi /etc/rsync_exclude.lst
# コピー元の対象ディレクトリ内から、コピーを除外するファイル/ディレクトリを記述(相対パス)

test
test.txt

[3] 以上の設定完了後、以下のようにしてコピー元ホストからコピーを行います。
root@www:~#
rsync -avz --delete --exclude-from=/etc/rsync_exclude.lst /var/www/ 10.0.0.30::site
# 定期的に実行する場合はcronに登録しておく

root@www:~#
# 毎日午前2時に同期実行

00 02 * * * rsync -avz --delete --exclude-from=/etc/rsync_exclude.lst /var/www/ 10.0.0.30::site
関連コンテンツ