在ubuntu使用rsync進(jìn)行服務(wù)器同步備份
默認(rèn)ubuntu系統(tǒng)已安裝了rsync工具,可以使用rsync -h命令測試是否安裝,如果沒有的安裝該工具,可以使用命令:
$ aptitude install rsync
安裝。
Rsync(remote synchronize)是一個(gè)遠(yuǎn)程數(shù)據(jù)同步工具,可以使用“Rsync算法”同步本地和遠(yuǎn)程主機(jī)之間的文件。
rsync的好處是只同步兩個(gè)文件不同的部分,相同的部分不在傳遞。類似于增量備份,
這使的在服務(wù)器傳遞備份文件或者同步文件,比起scp工具要省好多時(shí)間。
具體的用法:
1.在本地機(jī)器上對(duì)兩個(gè)目錄同步
$ rsync -zvr filename1 filename2
上述代碼是將filename1中的文件與filename2中的文件同步,如果將filename2中的文件同步到filename1中,修改代碼為:
$ rsync -zvr filename2 filename1
參數(shù)說明:
-z 開啟壓縮
-v 詳情輸出
-r 表示遞歸
2.使用rsync –a 同步保留時(shí)間按標(biāo)記
$ rsync -azv filename1 filename2
使用上述命令,將filename2中新同步的文件的時(shí)間與filename1中的創(chuàng)建的時(shí)間相同,
它保留符號(hào)鏈接、權(quán)限、時(shí)間標(biāo)記、用戶名及組名相同。
3.從本地同步文件到遠(yuǎn)程服務(wù)器
$rsync -avz filename1 ubuntu@192.168.0.1:/home/ubuntu/filename2
上述命令是將本地的filename1同步到遠(yuǎn)程192.168.0.1的主機(jī)上。
注意:如果遠(yuǎn)程主機(jī)的端口不是默認(rèn)的22端口,假如是3000端口,上述的命令修改為,
$ rsync -avz '-e ssh -p 4000' filename1 ubuntu@192.168.0.1:/home/ubuntu/filename2
4.將遠(yuǎn)程服務(wù)器的文件同步到本地
與步驟3類似,只是將filename1與遠(yuǎn)程服務(wù)器的位置對(duì)換一下,
$rsync -avz ubuntu@192.168.0.1:/home/ubuntu/filename2 filename1
同理如果端口不是22,使用以下命令
$ rsync -avz '-e ssh -p 4000' ubuntu@192.168.0.1:/home/ubuntu/filename2 filename1