Rsync : ファイル/ディレクトリの同期2024/09/10 |
Rsync によるファイル同期の設定です。 ローカル ⇔ リモート でのファイル同期の場合、コマンド単体での使用では、デフォルトでは接続に SSH が使用されるため、リモート側に SSH サーバーが起動していることが前提となります。
当例では、Rsync をサービスとして設定して起動します。 +----------------------+ | +----------------------+ | dlp.srv.world |10.0.0.30 | 10.0.0.51| node01.srv.world | | +----------+----------+ | | /root/work/* | -------------> | /home/backup/* | +----------------------+ copy +----------------------+ |
[1] | コピー元ホストの設定です。 |
root@dlp:~ #
pkg install -y rsync
root@dlp:~ #
vi /usr/local/etc/rsync/exclude.lst # specify files or directories you'd like to exclude to copy
test test.txt |
[2] | コピー先ホストの設定です。 |
root@node01:~ #
pkg install -y rsync
root@node01:~ #
vi /usr/local/etc/rsync/rsyncd.conf # 最終行に追記 # 任意の名前 [backup] # コピー先対象ディレクトリ path = /home/backup # 接続を許可するホスト (コピー元ホストを指定) hosts allow = 10.0.0.30 hosts deny = * list = true uid = root gid = wheel read only = false mkdir /home/backup root@node01:~ # service rsyncd enable rsyncd enabled in /etc/rc.conf root@node01:~ # service rsyncd start Starting rsyncd. |
[3] | 以上の設定完了後、以下のようにしてコピー元ホスト上からコピー先ホストへ同期を行います。 定期実行したい場合は Cron に登録しておくとよいでしょう。 |
root@dlp:~ # rsync -avz --delete --exclude-from=/usr/local/etc/rsync/exclude.lst /home/work/ node01.srv.world::backup
sending incremental file list ./ testfile.txt testdir/ testdir/test2.txt sent 21,830 bytes received 65 bytes 43,790.00 bytes/sec total size is 72,604 speedup is 3.32 |