中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Linux文件同步rsync是怎樣的

發布時間:2022-02-06 09:37:25 來源:億速云 閱讀:324 作者:柒染 欄目:開發技術

這篇文章將為大家詳細講解有關Linux文件同步rsync是怎樣的,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。

rsync是Linux系統下的文件同步和數據傳輸工具,它采用“rsync”算法,可以將一個客戶機和遠程文件服務器之間的文件同步,也可以 在本地系統中將數據從一個分區備份到另一個分區上。

rsync實現服務器的文件同步

環境部署:

  服務器1:192.168.1.169,作為客戶端

  服務器2:192.168.1.167,作為服務端

  實現功能:每當169服務器中的文件發生改變時,就同步到167服務器中。


服務端配置(即167服務器的配置):

(1)軟件安裝 yum install rsync xinetd 

(2)為 rsyncd 服務編輯配置文件,默認沒有,需自己編輯 vim /etc/rsyncd.conf 寫入以下內容: uid = root gid = root use chroot = no max connections = 5 timeout = 600 pid file = /var/run/rsyncd.pid lockfile = /var/run/rsyncd.lock log file = /var/log/rsyncd.log [web1] path = /usr/local/nginx/html/hello/ ignore errors = yes read only = no write only = no hosts allow = 192.168.1.169 hosts deny = * list = yes auth users = web secrets file = /etc/web.passwd 

(3)創建文件同步的目錄,上面配置里的path,如果有就不用創建了 mkdir /usr/local/nginx/html/hello/ 

(4)創建配置中的密碼文件,并增加權限: echo “web:123” > /etc/web.passwd chmod 600 /etc/web.passwd 

(5)重新啟動 service xinetd restart


客戶端配置(即169服務器的配置):

(1)安裝軟件 yum -y install rsync 

(2)創建web目錄 mkdir /usr/local/nginx/html/hello/ 

(3)設置密碼并設置權限 echo “123”> /tmp/rsync.password chmod 600 /tmp/rsync.password

(4)關閉防火墻:service iptables stop。


在客戶端測試(即169服務器): rsync -avzP –delete –password-file=/tmp/rsync.password /usr/local/nginx/html/hello/ web@192.168.1.167::web1

如果看到文件同步過去表示成功。


數據實時同步:   

環境:Rsync + Inotify-tools。

  下載安裝

  wget https://jaist.dl.sourceforge.net/project/inotify-tools/inotify-tools/3.13/inotify-tools-3.13.tar.gz   tar -zxvf inotify-tools-3.13.tar.gz   mkdir /usr/local/inotify   cd inotify-tools-3.13   ./configure –prefix=/usr/local/inotify/   make && make install

設置環境變量

vim /etc/profile   

在末尾增加一行:   

export PATH=$PATH:/usr/local/inotify/bin   

使配置生效:   

source /etc/profile

echo ‘/usr/local/inotify/lib’ >> /etc/ld.so.conf –

加載庫文件 ldconfig ln -s /usr/local/inotify/include /usr/include/inotify


測試腳本:

創建shell文件: vim /test.sh 輸入以下內容:

 #!/bin/bash
 
 src=/usr/local/nginx/html/hello/
 user=web
 host1=192.168.1.167
 dst1=web1
 passpath=/tmp/rsync.password
 
 /usr/local/inotify/bin/inotifywait \
 -mrq --timefmt '%d/%m/%y' \
 --format '%T %w%f%e' \
 -e modify,delete,create,attrib \
 /usr/local/nginx/html/hello/ | while read files
 do
     rsync  -vzrtopg --delete --progress --passfile=$passfile-path  $src $user@$host1::$dst1
     echo "${files} was rsyncd" >>/tmp/rsync.log 2>&1
 done

設置自動運行:

chmod 755 /data/test/test.sh /data/test/test.sh & echo ‘/data/test/test.sh &’ >> /etc/rc.local –設置開機自啟


擴展知識:

查看已安裝的軟件包     yum list rsync   卸載rsync     yum remove rsync

常見錯誤:

問題一:       

rsync: failed to set times on “directory” Operation not permitted (1)       

解決:         

請檢查/etc/rsyncd.conf這個配置文件是否正確。

問題二: 

@ERROR: auth failed on module web       

rsync error: error starting client-server protocol (code 5) at main.c(1657) [Receiver=3.1.3]       

原因:         

服務器端該模塊(web)需要驗證用戶名密碼,但客戶端沒有提供正確的用戶名密碼,認證失敗。         

提供正確的用戶名密碼解決此問題。

問題三:

inotifywait: error while loading shared libraries: libinotifytools.so.0: cannot open shared object

[root@db zzh]# ll /proc/sys/fs/inotify (如果有下列三項則支持inotifytools)       

total 0       

-rw-r–r– 1 root root 0 Sep 20 16:52 max_queued_events       

-rw-r–r– 1 root root 0 Sep 20 16:52 max_user_instances       

-rw-r–r– 1 root root 0 Sep 20 16:52 max_user_watches

解決:       

[root@db zzh]# ln -s /usr/local/lib/libinotifytools.so.0 /usr/lib64/libinotifytools.so.0

問題四:

wile read 命令未找到

解決:

檢出sh文件,或重新編寫。

rsync配置文件說明:

uid = root #–rsync運行權限為root
gid = root #–rsync運行權限為root
use chroot = no #–是否讓進程離開工作目錄
max connections = 5 #–最大并發連接數,0為不限制
timeout = 600 #–超時時間
pid file = /var/run/rsyncd.pid #–指定rsync的pid存放路徑
lockfile = /var/run/rsyncd.lock #–指定rsync的鎖文件存放路徑
log file = /var/log/rsyncd.log #–指定rsync的日志存放路徑
[web1] #–模塊名稱
path = /data/test/src #–該模塊存放文件的基礎路徑
ignore errors = yes #–忽略一些無關的I/O錯誤
read only = no #–客戶端可以上傳
write only = no #–客戶端可以下載
hosts allow = 192.168.8.167 #–允許連接的客戶端主機ip
hosts deny = * #–黑名單,*表示任何主機
list = yes
auth users = web #–認證此模塊的用戶名
secrets file = /etc/web.passwd #–指定存放“用戶名:密碼”格式的文件

關于Linux文件同步rsync是怎樣的就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

乐陵市| 宝应县| 鞍山市| 昌平区| 称多县| 辽宁省| 商水县| 莱州市| 广水市| 抚州市| 大港区| 都匀市| 上林县| 杨浦区| 临高县| 百色市| 大名县| 诸城市| 玉树县| 梁山县| 南江县| 乌鲁木齐县| 通化县| 波密县| 福海县| 平山县| 呼玛县| 德惠市| 石台县| 呼伦贝尔市| 绥芬河市| 新民市| 外汇| 平遥县| 贵南县| 陵水| 定州市| 新和县| 涟源市| 旌德县| 东乌|