Rsync : ファイル/ディレクトリの同期2015/01/12 |
Rsync によるファイル同期の設定です。
コマンドの基本的な使用方法はリンク先の通りです。 ローカル ⇔ リモート でのファイル同期の場合、コマンド単体での使用では接続に SSH が使用されるため、リモート側に SSH サーバーが起動していることが前提となります。
当例では、Rsync をサービスとして設定して起動します。
サービスとして起動しておくことで、同期の設定がより詳細に指定可能 且つ Rsync 独自のポート (873/TCP) で接続するため、リモート側での SSH サービスも不要となります。
例として、dlp.srv.world の /root/work 配下のファイル/ディレクトリを、www.srv.world の
/home/backup 配下にコピーするように設定します。
+----------------------+ | +----------------------+ | dlp.srv.world |10.0.0.30 | 10.0.0.31| www.srv.world | | +----------+----------+ | | /root/work/* | -------------> | /home/backup/* | +----------------------+ copy +----------------------+ |
[1] | コピー元ホストの設定です。 |
[root@dlp ~]#
yum -y install rsync
[root@dlp ~]#
vi /etc/rsync_exclude.lst # コピー元の対象ディレクトリ内から、コピーを除外するファイル/ディレクトリを記述(相対パス)
test test.txt |
[2] | コピー先ホストの設定です。 |
[root@www ~]#
yum -y install rsync
[root@www ~]#
vi /etc/rsyncd.conf # 任意の名前 [backup] # コピー先対象ディレクトリ path = /home/backup # 接続を許可するホスト(コピー元ホストを指定) hosts allow = 10.0.0.30 hosts deny = * list = true uid = root gid = root read only = false mkdir /home/backup [root@www ~]# systemctl start rsyncd [root@www ~]# systemctl enable rsyncd |
[3] | 以上の設定完了後、以下のようにしてコピー元ホスト上からコピー先ホストへ同期を行います。 |
[root@dlp ~]#
rsync -avz --delete --exclude-from=/etc/rsync_exclude.lst /root/work/ www.srv.world::backup # 定期的に実行する場合は cron に登録しておく
[root@dlp ~]#
crontab -e # 例として毎日午前2時に同期実行 00 02 * * * rsync -avz --delete --exclude-from=/etc/rsync_exclude.lst /root/work/ www.srv.world::backup
|
Sponsored Link |
|