Ubuntu 26.04

Rsync : ファイル/ディレクトリの同期2026/06/19

 

Rsync によるファイル同期の設定です。

コマンドの基本的な使用方法はリンク先の通りです

ローカル ⇔ リモート でのファイル同期の場合、コマンド単体での使用では、デフォルトでは接続に SSH が使用されるため、リモート側に SSH サーバーが起動していることが前提となります。

当例では、Rsync をサービスとして設定して起動します。
サービスとして起動しておくことで、同期の設定がより詳細に指定可能 且つ Rsync 独自のポート (873/TCP) で接続するため、リモート側での SSH サービスも不要となります。

当例では [dlp.srv.world] の [/home/work] 配下のファイル/ディレクトリを、[node01.srv.world] の [/home/backup] 配下にコピーするように設定します。

+----------------------+          |          +----------------------+
|     dlp.srv.world    |10.0.0.30 | 10.0.0.51|   node01.srv.world   |
|                      +----------+----------+                      |
|     /root/work/*     |   ------------->    |     /home/backup/*   |
+----------------------+        copy         +----------------------+

[1] コピー先ホストの設定です。
root@node01:~#
apt -y install rsync
root@node01:~#
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

root@node01:~#
mkdir /home/backup

root@node01:~#
systemctl start rsync
# UFW 有効の場合はサービスポート許可

root@node01:~#
ufw allow 873/tcp
[2] コピー元ホストを設定して、以下のようコピー元ホスト上からコピー先ホストへ同期を行います。
root@dlp:~#
apt -y install rsync
root@dlp:~#
vi /etc/rsync_exclude.lst
# コピー元対象ディレクトリからコピーを除外するファイル/ディレクトリを記述 (相対パス)

test
test.txt

root@dlp:~#
rsync -avz --delete --exclude-from=/etc/rsync_exclude.lst /home/work/ node01.srv.world::backup
sending incremental file list
deleting testfile2.txt
./
test1.txt
testfile.txt
usermin-current.deb
webmin-current.deb
testdir/

sent 38,009,081 bytes  received 241 bytes  76,018,644.00 bytes/sec
total size is 38,013,059  speedup is 1.00
関連コンテンツ