Rsync遠程同步工具
阿新 • • 發佈:2018-10-16
use 無需 ffffff deb pre pid ets vsftpd 傳輸 Rsync遠程同步工具
1配置rsync源服務器(http://rsync.samba.org/)
(1)建立配置文件
vim /etc/rsyncd.conf
uid = nobody //指定運行程序的用戶
gid = nobody //指定運行程序的組
use chroot = yes //禁錮在源目錄,指只能訪問我指定的目錄不允許訪問其他目錄,類似以vsftpd的禁錮
address = 192.168.1.20 //指定監聽的地址
port 873 //指定監聽的端口
log file = /var/log/rsyncd.log //指定日誌文件存放的位置
pid file = /var/run/rsyncd.pid //指定進程文件的位置
hosts allow = 192.168.1.0/24 //指定可以訪問的地址,這裏如果需要實現異地災備的時候可以寫上公網的IP地址,通過路由器映射進來就可以了。
[www] //指定共享的名字
path = /var/www/html //源目錄的實際目錄
comment = Dcoument Root of web.lzg.com //這個模塊的描述信息
read only = yes(no) //目錄為只讀(可讀可寫)
dont compress = .gz .bz2 .zip .z .rar //在傳輸過程中不在進行二次壓縮的文件類型。
auth users = backuper //授權備份的用戶
secrets file = /etc/rsyncdusers.db //指定賬戶信息的數據文件位置
![技術分享圖片](http://i2.51cto.com/images/blog/201810/16/cdecb6235da62c0f6edd41a5c30b1b19.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
(2)為備份賬戶創建數據文件
vim /etc/rsyncdusers.db
backuper:123.com //用戶和密碼,無需建立同名系統用戶
![技術分享圖片](http://i2.51cto.com/images/blog/201810/16/5ecb135346fc67a16e631d8eb364628f.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
chmod 600 /etc/rsyncd_users.db
rsync –daemon
netstat –anput | grep rsync
![技術分享圖片](http://i2.51cto.com/images/blog/201810/16/078d602d926dbd35d014d84e2cd9f2e7.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
2配置客戶端進行驗證
rsync -avz [email protected]::www /myweb****
![技術分享圖片](http://i2.51cto.com/images/blog/201810/16/6a814b4eb2deb1cf2f8203767eeaa33c.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
3創建密碼文件自動同步
vim /etc/server.pass
123.com
chmod 600 /etc/server.pass
rsync –avz –delete --password-file=/etc/server.pass [email protected]::www /myweb
![技術分享圖片](http://i2.51cto.com/images/blog/201810/16/ebcf2762ad9ec00ca53e33c026f29a56.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
4配置inotify+rsync 實時同步
調整inotify內核參數:
vim /etc/sysctl.conf
fs.inotify.max_queued_events = 16384
fs.inotify.max_user_instances = 1024
fs.inotify.max_user_watches = 1048576
![技術分享圖片](http://i2.51cto.com/images/blog/201810/16/ef87e564468630f0130603fda172ec47.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
sysctl –p
安裝inotify-tools
編寫觸發時啟動腳本
Mkdir /sh
Vim /sh/inotify_rsync.sh
#!/bin/bash
INOTIFY="inotifywait -mrq -e modify,create,move,delete,attrib /myweb/"
RSYNC="rsync -azH --delete --password-file=/etc/server.pass /myweb/ [email protected]::www"
$INOTIFY | while read DIRECTORY EVENT FILE
do
$RSYNC
Done
![技術分享圖片](http://i2.51cto.com/images/blog/201810/16/0ff176d8b18fd2048eebbaf8a69f1991.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
運行腳本
在服務器上
Chmod –R 777 /var/www/html
驗證
1配置rsync源服務器(http://rsync.samba.org/)
(1)建立配置文件
vim /etc/rsyncd.conf
uid = nobody //指定運行程序的用戶
gid = nobody //指定運行程序的組
use chroot = yes //禁錮在源目錄,指只能訪問我指定的目錄不允許訪問其他目錄,類似以vsftpd的禁錮
address = 192.168.1.20 //指定監聽的地址
port 873 //指定監聽的端口
log file = /var/log/rsyncd.log //指定日誌文件存放的位置
hosts allow = 192.168.1.0/24 //指定可以訪問的地址,這裏如果需要實現異地災備的時候可以寫上公網的IP地址,通過路由器映射進來就可以了。
[www] //指定共享的名字
path = /var/www/html //源目錄的實際目錄
comment = Dcoument Root of web.lzg.com //這個模塊的描述信息
read only = yes(no) //目錄為只讀(可讀可寫)
dont compress = .gz .bz2 .zip .z .rar //在傳輸過程中不在進行二次壓縮的文件類型。
secrets file = /etc/rsyncdusers.db //指定賬戶信息的數據文件位置
![技術分享圖片](http://i2.51cto.com/images/blog/201810/16/cdecb6235da62c0f6edd41a5c30b1b19.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
(2)為備份賬戶創建數據文件
vim /etc/rsyncdusers.db
backuper:123.com //用戶和密碼,無需建立同名系統用戶
![技術分享圖片](http://i2.51cto.com/images/blog/201810/16/5ecb135346fc67a16e631d8eb364628f.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
chmod 600 /etc/rsyncd_users.db
rsync –daemon
netstat –anput | grep rsync
![技術分享圖片](http://i2.51cto.com/images/blog/201810/16/078d602d926dbd35d014d84e2cd9f2e7.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
2配置客戶端進行驗證
rsync -avz [email protected]::www /myweb****
![技術分享圖片](http://i2.51cto.com/images/blog/201810/16/6a814b4eb2deb1cf2f8203767eeaa33c.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
3創建密碼文件自動同步
vim /etc/server.pass
chmod 600 /etc/server.pass
rsync –avz –delete --password-file=/etc/server.pass [email protected]::www /myweb
![技術分享圖片](http://i2.51cto.com/images/blog/201810/16/ebcf2762ad9ec00ca53e33c026f29a56.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
4配置inotify+rsync 實時同步
調整inotify內核參數:
vim /etc/sysctl.conf
fs.inotify.max_queued_events = 16384
fs.inotify.max_user_instances = 1024
fs.inotify.max_user_watches = 1048576
![技術分享圖片](http://i2.51cto.com/images/blog/201810/16/ef87e564468630f0130603fda172ec47.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
sysctl –p
安裝inotify-tools
編寫觸發時啟動腳本
Mkdir /sh
Vim /sh/inotify_rsync.sh
#!/bin/bash
INOTIFY="inotifywait -mrq -e modify,create,move,delete,attrib /myweb/"
RSYNC="rsync -azH --delete --password-file=/etc/server.pass /myweb/ [email protected]::www"
$INOTIFY | while read DIRECTORY EVENT FILE
do
$RSYNC
Done
![技術分享圖片](http://i2.51cto.com/images/blog/201810/16/0ff176d8b18fd2048eebbaf8a69f1991.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
運行腳本
在服務器上
Chmod –R 777 /var/www/html
驗證
Rsync遠程同步工具