新聞中心
rsync是可以實(shí)現(xiàn)增量備份的工具。配合任務(wù)計(jì)劃,rsync能實(shí)現(xiàn)定時(shí)或間隔同步,配合inotify或sersync,可以實(shí)現(xiàn)觸發(fā)式的實(shí)時(shí)同步了,下面為大家分享一下如果使用rsync實(shí)現(xiàn)遠(yuǎn)程同步?

我們提供的服務(wù)有:網(wǎng)站建設(shè)、成都網(wǎng)站制作、微信公眾號(hào)開(kāi)發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、米東ssl等。為上千企事業(yè)單位解決了網(wǎng)站和推廣的問(wèn)題。提供周到的售前咨詢(xún)和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的米東網(wǎng)站制作公司
一、rsync簡(jiǎn)介
rsync(Remote Sync,遠(yuǎn)程同步)是一個(gè)開(kāi)源的快速備份工具,可以在不同主機(jī)之間鏡像同步整個(gè)目錄樹(shù),支持增量備份,保持鏈接和權(quán)限,且采用優(yōu)化的同步算法,傳輸前執(zhí)行壓縮,因此非常適用于異地備份、鏡像服務(wù)器等應(yīng)用。
rsync的官方站點(diǎn):http://rsync.samba.org/ ,目前最新版本是3.1.3,由Wayne Davison.進(jìn)行維護(hù),作為一種最常用的文件備份工具,rsync往往是Linux和UNIX系統(tǒng)默認(rèn)安裝的基本組件之一。
rsync是一款快速增量備份工具,支持:
(1)本地復(fù)制;
(2)與其他SSH同步;
(3)與rsync主機(jī)同步。
在遠(yuǎn)程同步任務(wù)中,負(fù)責(zé)發(fā)起rsync同步操作的客戶(hù)機(jī)稱(chēng)為發(fā)起端,而負(fù)責(zé)相應(yīng)來(lái)自客戶(hù)機(jī)的rsync同步操作的服務(wù)器稱(chēng)為同步源。在同步過(guò)程中,同步源負(fù)責(zé)提供文檔的原始位置,發(fā)起端應(yīng)對(duì)該位置有讀取權(quán)限。如圖:
二、配置rsync源
配置rsync源服務(wù)器大致分為三步:
(1)建立rsync配置文件;
(2)為備份賬戶(hù)創(chuàng)建數(shù)據(jù)文件;
(3)啟動(dòng)rsync服務(wù)。
(1)建立rsync配置文件
在CentOS 7系統(tǒng)之前/etc/rsyncd.conf文件默認(rèn)不存在,CentOS 7開(kāi)始已經(jīng)有這樣的文件,并且其中放置了模板參考信息(根據(jù)實(shí)際情況編寫(xiě)需要的內(nèi)容,注意格式)。
[root@localhost ~]# vim /etc/rsyncd.conf
uid = nobody //啟用匿名用戶(hù)
gid = nobody
use chroot = yes //禁錮在源目錄
address = 192.168.1.1 //監(jiān)聽(tīng)地址
port 873 //監(jiān)聽(tīng)端口
log file = /var/log/rsyncd.log //日志文件存放位置
pid file = /var/run/rsyncd.pid //存放進(jìn)程ID的文件位置
hosts allow = 192.168.1.0/24 //允許訪(fǎng)問(wèn)的客戶(hù)機(jī)地址
[wwwroot] //共享模塊名稱(chēng)
path = /var/www/html //源目錄的實(shí)際路徑
comment = aaa //描述(可以省略)
read only = no //是否為只讀
dont compress = *.gz *.bz2 *.rar *.zip //同步時(shí)不再壓縮的文件類(lèi)型
auth users = backuper //授權(quán)賬戶(hù)
secrets file = /etc/rsyncd_users.db //存放賬戶(hù)信息的數(shù)據(jù)文件
基于安全性考慮,對(duì)于rsync的同步源最好僅允許以只讀方式做同步。另外,同步可以采用匿名的方式,只要將其中的“auth users”和“secrets file”配置項(xiàng)去除即可!
(2)為備份賬號(hào)創(chuàng)建數(shù)據(jù)文件
根據(jù)rsync的配置文件內(nèi)容,創(chuàng)建賬號(hào)數(shù)據(jù)文件。每行一個(gè)用戶(hù),用戶(hù)和密碼之間用冒號(hào)進(jìn)行分隔。
[root@localhost ~]# vim /etc/rsyncd_users.db
backuper:123456
由于賬號(hào)信息采用明文存放,因此需要調(diào)整文件權(quán)限,避免賬號(hào)信息泄露。
[root@localhost ~]# chmod 600 /etc/rsyncd_users.db
備份用戶(hù)應(yīng)對(duì)源目錄具有讀取權(quán)限。
[root@localhost ~]# ls -ld /var/www/html
drwxr-xr-x. 2 root root 6 11月 15 2016 /var/www/html
(3)啟動(dòng)rsync服務(wù)
[root@localhost ~]# rsync --daemon
[root@localhost ~]# netstat -anpt | grep rsync
tcp 0 0 192.168.1.1:873 0.0.0.0:* LISTEN 44001/rsync
如果需要重啟rsync服務(wù),需要:
[root@localhost ~]# kill $(cat /var/run/rsyncd.pid)
//停止服務(wù)
[root@localhost ~]# rsync --daemon
//啟動(dòng)服務(wù)
[root@localhost ~]# kill -9 $(cat /var/run/rsyncd.pid)
或者直接使用“netstat -anpt | grep rsync”命令查出進(jìn)程號(hào),使用“kill 進(jìn)程號(hào)”一樣。 使用第一種方法停止rsync服務(wù)必須刪除存放rsync服務(wù)進(jìn)程的文件:
[root@localhost ~]# rm -rf /var/run/rsyncd.pid
三、使用rsync備份工具
配置好rsync同步源服務(wù)器之后,客戶(hù)端就可以使用rsync工具來(lái)執(zhí)行遠(yuǎn)程同步了。
rsync命令的選項(xiàng):-r:遞歸模式,包含目錄及子目錄中所有文件-l:對(duì)于符號(hào)鏈接文件仍然復(fù)制為符號(hào)鏈接文件-p:保留文件的權(quán)限標(biāo)記-t:保留文件的時(shí)間標(biāo)記-g:保留文件的屬組標(biāo)記(僅超級(jí)用戶(hù)使用)-o:保留文件的屬主標(biāo)記(僅超級(jí)用戶(hù)使用)-D:保留設(shè)備文件及其他特殊文件-a:歸檔模式,遞歸并保留對(duì)象屬性,等同于 -rlptgoD-v:顯示同步過(guò)程的詳細(xì)(verbose)信息-z:在傳輸文件時(shí)進(jìn)行壓縮(compress)-H:保留硬連接文件-A:保留ACL屬性信息--delete:刪除目標(biāo)位置有而原始位置沒(méi)有的文件--checksum:根據(jù)對(duì)象的校驗(yàn)和來(lái)決定是否跳過(guò)文件
rsync是一款快速增量備份工具,支持: (1)本地復(fù)制; (2)與其他SSH同步; (3)與rsync主機(jī)同步。
(1)本地復(fù)制
[root@localhost ~]# rsync /etc/passwd 123.txt//類(lèi)似于cp命令
(2)與其他SSH同步
[root@localhost ~]# rsync -av root@192.168.1.2:/root/123.txt .root@192.168.1.2's password:
(3)與rsync主機(jī)同步
[root@localhost ~]# rsync -avz backuper@192.168.1.1::wwwroot /root或者[root@localhost ~]# rsync -avz rsync://backuper@192.168.1.1/wwwroot /root
這兩種命令效果是一樣! 上傳只需將目錄調(diào)換順序即可(確保對(duì)上傳的目錄具有寫(xiě)入權(quán)限)! 在同步源端輸入以下命令,方可執(zhí)行寫(xiě)入權(quán)限
[root@localhost ~]# chmod o+w /var/www/html[root@localhost ~]# ls -ld /var/www/htmldrwxr-xrwx. 2 root root 6 8月 17 16:47 /var/www/html[root@localhost ~]# rsync -avz /root backuper@192.168.1.1::wwwroot
但是在現(xiàn)實(shí)工作環(huán)境中,備份工作通常是按計(jì)劃重復(fù)執(zhí)行的,比如:
[root@localhost ~]# vim /root/123.pass
123456
//任意創(chuàng)建一個(gè)文件用于存放rsync授權(quán)用戶(hù)的密碼信息
[root@localhost ~]# chmod 600 /root/123.pass
//必須設(shè)定600權(quán)限,否則執(zhí)行時(shí)將會(huì)報(bào)錯(cuò)
[root@localhost ~]# crontab -e
//創(chuàng)建計(jì)劃任務(wù)
30 22 * * * /usr/bin/rsync -az --delete --password-file=/root/123.pass backuper@192.168.1.1::wwwroot /a
//每天晚上22:30執(zhí)行腳本
[root@localhost ~]# systemctl restart crond
//重新啟動(dòng)crond服務(wù)
關(guān)于crond計(jì)劃任務(wù)配置文件的格式(從上到下):
本文名稱(chēng):如果使用rsync實(shí)現(xiàn)遠(yuǎn)程同步
網(wǎng)頁(yè)鏈接:http://www.dlmjj.cn/article/cdgshoi.html


咨詢(xún)
建站咨詢(xún)
