rsync + sersyncデータ同期-CentOS8

rsync + sersync

rsyncは、Linuxシステムでのデータミラーリングバックアップツールです。高速インクリメンタルバックアップツールであるRemoteSyncを使用して、リモートで同期したり、ローカルレプリケーションをサポートしたり、他のSSHまたはrsyncホストと同期したりします。

Sersyncはinotifyに基づいて開発され、inotify-toolsに似ています。指定されたディレクトリファイルを監視し(特定のファイルディレクトリの追加、削除、および変更を記録し)、rsyncを介して増分データ同期を実行し、変更されたファイルまたはディレクトリのみを同期します。 。

** rsync + sersyncデータ同期**

  1. sersyncは、指定されたディレクトリファイルイベントの変更を監視します。

  2. sersyncは、rsync clientコマンドを呼び出して、更新されたディレクトリとファイルをrsyncサーバーに段階的に同期し、データの同期を実現します。

システムバージョン

cat /etc/redhat-release 
CentOS Linux release 8.1.1911(Core)

**rsync **をインストールします

dnf install  rsync

rsyncバージョンを表示

rpm -qa rsync
rsync --version

rsync server

rsync構成ファイル

cat /etc/rsyncd.conf 
uid=root
gid=root
max connections=100
use chroot=true
log file=/var/log/rsyncd.log
motd file=/etc/rsyncd.motd
transfer logging=true
hosts allow=192.168.99.0/24[data]
path=/data
comment=data
read only =no
list=yes
auth users=root
secrets file=/etc/rsyncd.pwd

rsync構成ファイルのパラメーター

uid=root        #サーバー側でファイルを転送する場合、実行のためにどのユーザーとユーザーグループを送信する必要がありますか
gid=root        #サーバー側でファイルを転送する場合、実行のためにどのユーザーとユーザーグループを送信する必要がありますか
max connections=100      #クライアント接続の最大数
use chroot=true          
# chrootを使用すると、ファイルを転送する前に、サーバーデーモンがファイルシステム内のディレクトリにchrootします。
# 利点は、インストールの抜け穴による攻撃からシステムを保護できることです。欠点は、スーパーユーザーのアクセス許可が必要なことです。シンボリックリンク
# ファイルは除外されます。つまり、rsyncサーバー上にあり、シンボリックリンクがある場合は、バックアップサーバー上にあります。
# クライアントでクライアントの同期データを実行すると、シンボリックリンク名のみが同期され、シンボリックリンクのコンテンツは同期されません。
log file=/var/log/rsyncd.log        #rsyncサーバーログ
motd file=/etc/rsyncd.motd         
# motdファイルパスrsyncdを定義します.motdコンテンツはサーバー情報を定義し、ユーザーはログイン時にこの情報を表示します
transfer logging=true             #ファイルログの転送
hosts allow=192.168.99.0/24       #許可されたIPアドレス
[ data]                  #モジュール名
path=/data              #同期されたディレクトリ
exclude=web             #同期ディレクトリから削除されたディレクトリ、つまりWebが同期されていない
comment=data            #注:メモの内容は自分で定義できます。これはリマインダーとして機能します。
read only=no            #読み取り専用オプション、はいの場合、クライアントはサーバーにファイルをアップロードできません
list=yes                #サーバー上の同期データを提供するディレクトリが表示されているかどうか
auth users=root         #認証されたユーザーはrootです
secrets file=/etc/rsyncd.pwd       
# パスワードファイルの保存パス。このファイルのパスワードは223のrsyncdと同じである必要があることに注意してください。.pwd2ファイルの同じパスワード,権限
# クライアントのユーザー名の認証に使用されるキーファイル形式である600に設定する必要があります:PASSWD
# 注:構成ファイルにコメント情報を含めることはできません

rsyncパスワードファイル

echo "root:123456">/etc/rsyncd.pwd       
echo "123456">/etc/rsyncd.pwd2

権限の変更

chmod 600/etc/rsyncd.pwd                   
chmod 600/etc/rsyncd.pwd2

systemctlはrsyncサービスを管理します

/etc/sysconfig/rsyncd

vim /etc/sysconfig/rsyncd 
OPTIONS=""

rsyncd.service

cat  /lib/systemd/system/rsyncd.service
[ Unit]
Description=fast remote file copy program daemon
ConditionPathExists=/etc/rsyncd.conf

[ Service]
EnvironmentFile=/etc/sysconfig/rsyncd
ExecStart=/usr/bin/rsync --daemon --no-detach "$OPTIONS"[Install]
WantedBy=multi-user.target

**rsyncd start **

systemctl   start  rsyncd
systemctl   enable  rsyncd

rsyncポートプロセス

netstat  -auntlp |grep 873
ps -ef |grep rsync

firewall

firewall-cmd    --add-port=873/tcp --permanent
firewall-cmd    --reload

rsync client

rsyncローカルディスク同期データ

rsync -vlzrtogp /mnt/data /backups
rsync -vlzrtogp /mnt/data//backups

/ mnt / dataは、/ dataディレクトリ全体をターゲットディレクトリにコピーすることを意味します

/ mnt / data /は、データディレクトリ内のすべてのコンテンツをターゲットディレクトリにコピーすることを意味します

rsyncリモート同期

rsync -vlzrtopg --progress --delete/mnt/data/ [email protected]::data --password-file=/etc/rsyncd.pwd2

rsyncデータ同期の現在の制限

rsync -vlzrtogp --progress --delete--bwlimit=1000リモートファイルローカルファイル//1000kバイトに制限/s
rsync -vlzrtogp --progress --delete--bwlimit=2048ローカルファイルリモートファイル//2Mに限定/s

rsyncクライアントパラメータ

- v,--詳細詳細出力モード
- l,--リンクはシンボリックリンクファイルを保持します
- z,--圧縮転送時にファイルを圧縮します
- r,--再帰モードでサブディレクトリを再帰的に処理します
- t,--時間はファイルの時間情報を保持します
- o,--所有者はファイル所有者情報を保持します(super-user only)-p,--permsはファイルのアクセス許可を保持します
- g,--グループキープファイルグループ情報

- - 進行状況には、転送中の転送プロセスが表示されます
- - deleteデータの一貫性を維持するために、ローカルエンドよりもターゲットエンドの冗長ファイルディレクトリを削除します
- - exclude=webは、転送する必要のないファイル一致パターンを除外するように指定します
- - exclude-from=FILEはFILEから除外ルールを読み取ります
- - include=PATTERNは、転送するファイルマッチングモードを指定します
- - include-from=FILEはFILEから包含ルールを読み取ります
- - password-file=FILEは、端末にパスワードを入力しないようにFILEからパスワードを読み取ります
- - bwlimit=レート制限転送I/O帯域幅

rsync + sersync

**rsync **をインストールします

dnf install  rsync

rsyncパスワードファイル

echo "123456">/etc/rsyncd.pwd2

権限の変更

chmod 600/etc/rsyncd.pwd2

sersyncをダウンロード

cd /opt
wget https://sersync.googlecode.com/files/sersync2.5.4_64bit_binary_stable_final.tar.gz

sersyncを解凍

tar -zxvf sersync2.5.4_64bit_binary_stable_final.tar.gz  
mv GNU-Linux-x86 /usr/local/sersync

** sersync構成ファイル**

vim /usr/local/sersync/confxml.xml

sersyncを開始します

/usr/local/sersync/sersync2  -d -r -o  /usr/local/sersync/confxml.xml

sersyncプロセスを表示

ps  -ef |grep sersync2

sersync変数

[ root@kafka-node2 /]# echo "export PATH=$PATH:/usr/local/sersync">>/etc/profile
[ root@kafka-node2 /]# source /etc/profile

データ同期テスト

ソースサーバー作成ファイル

宛先サーバービュー

rsyncデータ同期ログ

sersyncマルチインスタンス

データ同期のために複数のディレクトリを監視する場合、異なるsersync構成ファイルを個別に構成できます

/usr/local/sersync/sersync2  -d -r -o  /usr/local/sersync/nginx_confxml.xml
/usr/local/sersync/sersync2  -d -r -o  /usr/local/sersync/zabbix_confxml.xml

Recommended Posts

rsync + sersyncデータ同期-CentOS8
Ubuntuファイル同期ツールrsync