Rsync は Linux デュアルマシンのホットバックアップを実装します
Rsync の概要
1.1. Rsync とは何ですか?
rsync は、ローカルまたはリモートの増分データ ミラーリング同期バックアップを実現できる、オープン ソースの高速かつ多機能な優れたツールです。複数のプラットフォームで利用可能です。ソフトウェア名からもわかるように、リモート同期(リモート同期)を意味しており、フルバックアップと増分バックアップを実現できるため、集中バックアップやオフサイトバックアップなどの用途に非常に適しています。
公式ウェブサイト: http: //rsync.samba.org/
ポート: 873
動作モード: C/SB/S
1.2. rsync 機能
1. リンクファイル、デバイスなどの特殊なファイルのコピーをサポートします。
2. tar の除外機能と同等の、指定したファイルやディレクトリを同期から除外する機能を持たせることができます。
3. 元のファイルまたはディレクトリの権限、時間、ソフトリンクおよびハードリンク、所有者、グループなどのすべての属性を変更せずに維持できます。
4. インクリメンタル同期が可能です。つまり、変更されたデータのみが同期されるため、データ転送効率が非常に高くなります。
5. rcp、rsh、ssh、およびその他の方法を使用してファイルを転送できます (rsync 自体はデータを暗号化しません)。
6. ファイルとデータ (サーバーとクライアント) はソケット (プロセス モード) を介して転送できます。
7. 匿名または認証済み (システム ユーザー不要) プロセス モード送信をサポートし、便利で安全なデータのバックアップとミラーリングを可能にします。
1.3. 送信方法
プッシュ レプリケーション (アップロード):すべてのマスター サーバーがローカル データをスレーブ サーバーにプッシュします。
プル レプリケーション (ダウンロード): rsync バックアップ サーバーは、すべてのホストから定期的にデータをプルします。
日常的には、次のようにこれら 2 つの形式が混在して使用されます。
大容量データのバックアップ
オフサイトバックアップ
2 番目の rsync プル コピー
環境:
- 2 つのホスト、IP アドレスは 192.168.11.16、192.168.11.100
- OSはCentOS8です
- SELinux とファイアウォールをオフにする
要件:ホスト 192.168.11.100 の /cache ディレクトリ内のデータは、ホスト 192.168.11.16 の /cache ディレクトリ内のデータと一致していることが望まれます。
step1 ホスト 192.168.11.16 に rsync サービスを作成します。
[root@master ~]# rpm -qa | grep rsync
rsync-3.1.3-4.el8.x86_64
#检查是或否安装的相关软件包
[root@master ~]# mkdir /etc/rsyncd
[root@master ~]# vim rsyncd.conf
uid=root #定义以哪个用户的身份启动进程
gid=root #定义以哪个组的身份启动进程
port=873 #此服务默认端口873
max connections=0 #最大连接数(正整数),0代表不限制。
log file=/var/log/rsyncd.log #定义日志文件位置
pid file=/var/run/rsyncd.pid #定义pid文件位置
lock file=/var/run/rsyncd.lock #定义锁定文件位置,避免多开
motd file=/etc/rsyncd/rsyncd.motd #定义欢迎信息
read only=yes #权限为只读
hosts allow=192.168.11.0/24 #允许的网段
hosts deny=* #拒绝所有,允许个别
[www] #定义共享名称为www
path=/cache #路径
list=yes #允许别人看到
ignore errors #忽略错误
auth users=hello #授权的账号
secrets file=/etc/rsyncd/rsyncd.secrets #密码文件
setp2 は、任意の内容を含むウェルカム情報ファイルを作成します
[root@master ~]# vim /etc/rsyncd/rsyncd.motd
step3 パスワードファイルの作成
[root@master ~]# vim /etc/rsyncd/rsyncd.secrets
hello:123456
[root@master ~]# chmod 600 rsyncd.secrets
step4 キャッシュディレクトリとファイルを作成する
[root@master ~]# mkdir /cache
[root@master ~]# touch /cache/file{1..10}
step5 サービスを開始する
[root@master ~]# rsync --daemon --config=/etc/rsyncd/rsyncd.conf
[root@master ~]# lsof -i :873
step6 192.168.11.100にパスワードファイルを作成し、権限を変更します
[root@slave ~]# vim /etc/rsync.pw
123456
[root@slave ~]# chmod 600 /etc/rsync.pw
[root@slave ~]# mkdir /cache
step7 同期テスト
[root@slave ~]# rsync -avzP --delete --password-file=/etc/rsync.pw [email protected]::www /cache
rsync参数
-a 归档模式传输,相当于-rlptgoD一起使用
-v 详细模式输出
-z 传输时进行压缩以提高效率
-r 递归传输目录及子目录,即目录下得所有目录都同样传输
-t 保持文件时间信息
-o 保持文件属主信息
-p 保持文件权限
-g 保持文件属组信息
-l 保留软连接
-P 显示同步的过程及传输时的进度等信息
-D 保持设备文件信息
-L 保留软连接指向的目标文件
--exclude=PATTERN 指定排除不需要传输的文件模式
--bwlimit=1m 限速传输
--delete 让目标目录和源目录数据保持一致
--password-file 指定密码文件位置
step8 スケジュールされたタスクを定義する
[root@slave ~]# crontab -e
* * * * * rsync -avzP --delete --password-file=/etc/rsync.pw hello@192.168.11.16::www /cache
step9 11.16 ホスト上のファイルを調整し、変更があるかどうかを確認します。
3 つの Rsync プッシュ コピー
環境:
- 2 つのホスト、IP アドレスは 192.168.11.16、192.168.11.100
- OSはCentOS8です
- SELinux とファイアウォールをオフにする
要件:ホスト 192.168.11.100 の /cache ディレクトリ内のデータは、ホスト 192.168.11.16 の /cache ディレクトリ内のデータと一致していることが望まれます。
注: 192.168.11.16 ホスト上の rsync サービスを停止します
ステップ 1 192.168.11.100 ホスト上に rsync サービスを作成します。
[root@slave ~]# rpm -qa | grep rsync
rsync-3.1.3-4.el8.x86_64
#检查是或否安装的相关软件包
[root@slave ~]# mkdir /etc/rsyncd
[root@slave ~]# vim rsyncd.conf
uid=root #定义以哪个用户的身份启动进程
gid=root #定义以哪个组的身份启动进程
port=873 #此服务默认端口873
max connections=0 #最大连接数(正整数),0代表不限制。
log file=/var/log/rsyncd.log #定义日志文件位置
pid file=/var/run/rsyncd.pid #定义pid文件位置
lock file=/var/run/rsyncd.lock #定义锁定文件位置,避免多开
motd file=/etc/rsyncd/rsyncd.motd #定义欢迎信息
read only=no #权限为不只读(可写)
hosts allow=192.168.11.0/24 #允许的网段
hosts deny=* #拒绝所有,允许个别
[www] #定义共享名称为www
path=/cache #路径
list=yes #允许别人看到
ignore errors #忽略错误
auth users=hello #授权的账号
secrets file=/etc/rsyncd/rsyncd.secrets #密码文件
setp2 は、任意の内容を含むウェルカム情報ファイルを作成します
[root@slave ~]# vim /etc/rsyncd/rsyncd.motd
step3 パスワードファイルの作成
[root@slave ~]# vim /etc/rsyncd/rsyncd.secrets
hello:123456
[root@slave ~]# chmod 600 rsyncd.secrets
step4 キャッシュディレクトリを作成する
[root@slave ~]# mkdir /cache
step5 サービスを開始する
[root@slave ~]# rsync --daemon --config=/etc/rsyncd/rsyncd.conf
[root@slave ~]# lsof -i :873
step6 192.168.11.16に監視ソフトをインストールする
[root@master ~]# tar fx sersync2.5_32bit_binary_stable_final.tar.gz -C /usr/src/
[root@master ~]# cd /usr/src/GNU-Linux-x86/
step7 監視ソフトの設定
[root@master ~]# vim confxml.xml
<sersync>
<localpath watch="/cache">
<remote ip="192.168.11.100" name="www"/>
.
.
.
<rsync>
<commonParams params="-artuz"/>
<auth start="true" users="hello" passwordfile="/etc/rsync.pw"/>
[root@master ~]# vim /etc/rsync.pw
123456
[root@master ~]# chmod 600 rsync.pw
step8 監視ソフトを起動する
[root@master ~]# ./sersync2 -r #第一次启动加-r 可以查看到工作流程
step9 端末を再度開き、192.168.11.16でファイルの作成と削除を行い、192.168.11.100で同期が成功するか確認します。