rsync - ファイル/ディレクトリの同期2015/01/19 |
rsyncを利用して、あるホスト内のファイル/ディレクトリを、別ホスト内へコピーします。
rsync の基本的な使い方はリンク先の通りで、
ローカルマシン上のあるファイル/ディレクトリをローカルマシン上の別ディレクトリにコピーするだけであれば、
単にコマンド投入のみで OK ですが、対象のいずれかが別ホストになると認証を求められるため、以下のように前もって設定をしておきます。
例として、コピー元ホスト [10.0.0.30] の /root/work 配下のファイル/ディレクトリを、コピー先ホスト [10.0.0.33] の /home/backup
配下にコピーするように設定します。
|
|
[1] | コピー元ホストの設定です。 |
[root@dlp ~]#
yum -y install rsync
[root@dlp ~]#
vi /etc/rsync_exclude.lst # コピー元の対象ディレクトリ内から、コピーを除外するファイル/ディレクトリを記述(相対パス)
test test.txt |
[2] | コピー先ホストの設定です。 |
[root@www ~]#
yum -y install rsync xinetd
[root@www ~]#
vi /etc/xinetd.d/rsync
# default: off
[root@www ~]# # description: The rsync server is a good addition to an ftp server, as it \ # allows crc checksumming etc. service rsync { disable = no # 変更 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@www ~]#
[root@www ~]# chkconfig xinetd on mkdir /home/backup
[root@www ~]#
vi /etc/rsyncd.conf # 名前(テキトーに) [backupdir] # コピー先対象ディレクトリ path = /home/backup # コピーを許可するホスト(コピー元ホストを指定) hosts allow = 10.0.0.30 hosts deny = * list = true uid = root gid = root read only = false |
[3] | 以上の設定完了後、以下のようにしてコピー元ホストからコピーを行います。 |
[root@dlp ~]#
rsync -avz --delete --exclude-from=/etc/rsync_exclude.lst /root/work/ 10.0.0.31::backupdir # 定期的に実行する場合は cronに登録
[root@dlp ~]#
crontab -e # 毎日午前2時に同期実行 00 02 * * * rsync -avz --delete --exclude-from=/etc/rsync_exclude.lst /root/work/ 10.0.0.31::backupdir
|