Centos7にはrsyncが付属しています。今すぐ記録してください。
yum -y install rsync #Start rsync service
systemctl start rsyncd.service systemctl enable rsyncd.service#正常に開始されたかどうかを確認します
netstat -lnp|grep 873
Rsyncのインストールと構成の手順
サービスターミナル:
uid = root // rsyncプロセスを実行するユーザーを設定します
gid = root
use chroot = no
max connections = 4
lock file=/var/run/rsyncd.lock
log file = /var/log/rsyncd.log //定義が完了すると、システムはこのファイルを自動的に作成します
exclude = lost+found/
transfer logging = yes
timeout = 900
読み取り不能を無視=はい//同期中に許可なくディレクトリをスキップする
圧縮しない= * .gz * .tgz * .zip * .z * .Z * .rpm * .deb * .bz2 //送信中に圧縮されないファイル
[ simba] //この名前は、クライアントがrsyncを使用して同期するパスであり、モジュール名のみであり、フォルダー名と同じではありません。
path = / usr / local / simba //同期する必要がある実際のパス
comment = simba //括弧内の名前と同じように、起動プロセス中に表示できる内容に注意してください
ignore errors
読み取り専用=はい//プルできることを意味します
write only = no //プッシュできることを意味します
list=no
auth user = rsyncuser //ファイルを取得するクライアントのID。このユーザーは、このマシンに存在するユーザーではありません。
secrets file = / etc / rsyncd.passwd //クライアントの認証に使用される秘密鍵ファイル形式USERNAME:PASSWDこのファイルの権利
//制限を600に変更する必要があり、所有者はrsyncを実行しているユーザーと同じである必要があります。
hosts allow = * //すべてのホストにアクセスを許可する
echo'rsyncuser:123456 '> /etc/rsyncd.passwd //ファイルのユーザー名とパスは上記で定義されています。間違えないでください。パスワードは、自分で設定してください。
chmod 600 /etc/rsyncd.passwd//権限を変更する
systemctl start rsyncd.service
systemctl enable rsyncd.service
開始後、ログをチェックして、正常かどうかを確認できます
tail /var/log/rsyncd.log
次のようなヒントはありますか?
rsyncd version 3.0.9 starting, listening on port 873
クライアント:
echo '123456' >> / etc / rsyncd.passwd //ここではサーバーrsyncd.passwdのパスワードのみが必要であることに注意してください
chmod 600 /etc/rsyncd.passwd
サーバーIPの下のsimbaディレクトリの内容をローカルclient / tmpディレクトリに同期します
rsync -auv --password-file=/etc/rsyncd.passwd [email protected]::simba /tmp
crontabに自動同期を追加するには、-password-fileを指定し、rsyncuserをrsyncd.passwdで定義し、rsynctestをサーバー側で定義する必要があります[]
rsync -vzrtopg --delete --port 878 --progress /da/ [email protected]::data --password-file=/etc/rsyncd.passwd
rsync -vzrtopg --delete --port 878 --progress [email protected]::data /da/ --password-file=/etc/rsyncd.passwd
サーバ
vi /etc/rsyncd.conf
uid = root
gid = root
port = 878
use chroot = no
max connections = 100
timeout = 600
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsyncd.lock
log file = /var/log/rsyncd.log
exclude = lost+found/
transfer logging = yes
ignore nonreadable = yes
dont compress = *.gz *.tgz *.zip *.z *.Z *.rpm *.deb *.bz2
[data]
comment=data
path = /data/rsyncdata/
ignore errors
read only = no
list = no
hosts allow = *
auth users = lgsync
secrets file = /etc/rsyncd.passwd
[lgbak]
path = /data/leguan_bak/
ignore errors
read only = no
list = no
hosts allow = 10.30.188.194 120.35.10.209
hosts deny = *
auth users = lgsync
secrets file = /etc/rsyncd.passwd
サーバーvi / etc / rsyncd.passwd
lgsync:root@2018
クライアントvi / etc / rsyncd.passwd
root@2018
rsync -vzrtopg --delete --port 878 --progress /da/ [email protected]::data --password-file=/etc/rsyncd.passwd
rsync -vzrtopg --delete --port 878 --progress [email protected]::data /da/ --password-file=/etc/rsyncd.passwd
inotify-toolsは、EPELリポジトリから入手できます。 EPELをインストールします。
クライアント
yum install -y epel-release && yum update
次に、パッケージをインストールします。
yum install inotify-tools
vi /data/inotify.sh
#! /bin/bash`` INOTIFY_CMD="inotifywait -mrq -e modify,create,attrib,move,delete /da/"`` RSYNC_CMD="rsync -vzrtopg --delete --port 878 --progress /da/ [email protected]::data --password-file=/etc/rsyncd.passwd"`` $INOTIFY_CMD | while read DIRECTORY EVENT FILE`` do`` if [ $(pgrep rsync | wc -l) -le 0 ] ; then`` $RSYNC_CMD`` fi`` done
. /inotify.sh
nohup ./inotify.sh&を実行します
またはnohupsh inotify.sh&
v3.14-8.el7。 2018年18月18日現在×86_64
( adsbygoogle = window.adsbygoogle || []).push({});