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