Rsync - ファイル/ディレクトリの同期2014/08/26 |
Rsync を利用して、あるホスト内のファイル/ディレクトリを、別ホスト内へコピーします。
Rsync の基本的な使い方はリンク先の通りで、ローカル to
ローカルでコピーするのであれば、単にコマンドを投入するのみですが、対象ホストのいずれかがリモートになると認証が発生するため、
定期的なファイル同期を自動化する場合は、以下のように前もって同期設定をしておくとよいでしょう。
例として、コピー元ホスト [10.0.0.31] の /var/www/html 配下のファイル/ディレクトリを、コピー先ホスト [10.0.0.33] の
/home/backup 配下にコピーするように設定します。
|
|
[1] | コピー先ホストの設定です。 |
[root@dlp ~]#
yum -y install rsync xinetd
[root@dlp ~]#
vi /etc/xinetd.d/rsync
# default: off
[root@dlp ~]# # description: The rsync server is a good addition to an ftp server, as it \ # allows crc checksumming etc. service rsync { disable = no # 変更 flags = IPv6 socket_type = stream wait = no user = root server = /usr/bin/rsync server_args = --daemon log_on_failure += USERID } /etc/rc.d/init.d/xinetd start Starting xinetd: [ OK ]
[root@dlp ~]#
[root@dlp ~]# chkconfig xinetd on mkdir /home/backup
[root@dlp ~]#
vi /etc/rsyncd.conf # 任意の名前 [website] # コピー先対象ディレクトリ path = /home/backup # 接続を許可するホスト(コピー元ホストを指定) hosts allow = 10.0.0.31 hosts deny = * list = true uid = root gid = root read only = false |
[2] | コピー元ホストの設定です。 |
[root@www ~]#
yum -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/html/ 10.0.0.30::website # 定期的に実行する場合はcronに登録しておく
[root@www ~]#
crontab -e # 毎日午前2時に同期実行 00 02 * * * rsync -avz --delete --exclude-from=/etc/rsync_exclude.lst /var/www/html/ 10.0.0.30::website
|
Sponsored Link |