rsync + sersync
rsyncは、Linuxシステムでのデータミラーリングバックアップツールです。高速インクリメンタルバックアップツールであるRemoteSyncを使用して、リモートで同期したり、ローカルレプリケーションをサポートしたり、他のSSHまたはrsyncホストと同期したりします。
Sersyncはinotifyに基づいて開発され、inotify-toolsに似ています。指定されたディレクトリファイルを監視し(特定のファイルディレクトリの追加、削除、および変更を記録し)、rsyncを介して増分データ同期を実行し、変更されたファイルまたはディレクトリのみを同期します。 。
** rsync + sersyncデータ同期**
sersyncは、指定されたディレクトリファイルイベントの変更を監視します。
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