SuSe11 inotify+rsync 實現文件實時同步


linux suse rsync 同步操做linux

配置完成rsync後開始 rsync 服務 中止 stop 重啓 restart
service rsyncd start bash

參考博客地址:https://www.jianshu.com/p/bab26e046c2f https://www.jb51.net/article/41417.htm https://blog.csdn.net/qq_36031499/article/details/54315466服務器

產生文件服務 101.9.101.111 同步到服務器101.9.101.119
101.9.101.119 rsync 配置
配置 vi /etc/rsyncd.conf
gid = root
uid = root
use chroot = no
max connections = 200
timeout = 300
strict modes = yes
hosts allow = 101.9.101.111
port = 873
transfer logging = true
log format = %h %o %f %l %b
log file = /var/log/rsyncd.log
pid file = /var/run/rsyncd.pidui


[media]
path = /smart/cms/media
ignore errors = yes
read only = false
list = false
auth users = root
secrets file = /etc/rsyncd.secrets.net

建立密碼本
vi /etc/rsyncd.secrets
root:123456
給權限
chmod 600 /etc/rsyncd.secretsrest

啓動或者重啓rsync 服務日誌


101.9.101.111 rsync配置
配置 vi /etc/rsyncd.conf
gid = root
uid = root
use chroot = no
max connections = 200
timeout = 300
strict modes = yes
hosts allow = 101.9.101.119
port = 873
transfer logging = true
log format = %h %o %f %l %b
log file = /var/log/rsyncd.log
pid file = /var/run/rsyncd.pidorm

 

[media]
path = /smart/cms/media/
ignore errors = yes
read only = false
list = false
auth users = root
secrets file = /etc/rsyncd.secretshtm

建立密碼本
vi /etc/rsyncd.secrets
root:123456
給權限
chmod 600 /etc/rsyncd.secretsblog

啓動或者重啓rsync 服務

rsync 配置完成
使用命令 在11上
rsync -vzrtopg --delete --progress --password-file=/etc/rsyncd.passwd /home/rsynctest/ root@101.9.101.113::media

suse 11 中的 rsyncd.secrets 若是看成密碼本會一直出現報錯,要手動建立密碼本 rsyncd.passwd
在 /etc/ 建立 rsyncd.passwd 內容 客戶端直接寫密碼 123456 服務端要寫用戶名和密碼:rsync:123456


rsync 相關日誌查看 /var/log/rsyncd.log

rsync + inotify

下載 inotify 地址:https://nchc.dl.sourceforge.net/project/inotify-tools/inotify-tools/3.13/inotify-tools-3.13.tar.gz
tar -zxf inotify-tools-3.13.tar.gz
安裝
./configure --prefix=/usr/local/inotify
make && make install

編寫 inotify_rsync.sh 腳本 要放在須要同步文件的目錄下
#!/bin/bash
host=101.9.101.113
src=/home/rsynctest/
des=media
user=root

/home/inotify-tools-3.13/src/inotifywait -mrq --timefmt '%d/%m/%y %H:%M' --format '%T %w%f%e' -e modify,delete,create,attrib $src | while read files
do
/usr/bin/rsync -vzrtopg --delete --progress --password-file=/etc/rsyncd.passwd $src $user@$host::$des
#--password-file=/etc/rsyncd.passwd
# rsync -vzrtopg --delete --progress /home/rsynctest/ root@101.9.101.113::media
echo "${files} wa rsynced" >>/var/log/rsync.log 2>&1
done
修改腳本權限
chmod 764 inotify_rsync.sh
啓動
sh inotify_rsync.sh &
查看
ps -ef | grep inotify
中止 kill -9 腳本運行的PID

注意: src=/home/rsynctest/ 命令或者 腳本本 最後帶 / 和 不帶/ 有區別帶 / 同步的是rsynctest目錄下的文件,不會建立rsynctets目錄,須要有rsynctest 目錄不帶 / 同步 rsynctest 這個目錄 過去

相關文章
相關標籤/搜索