Rsync的簡單使用

Rsync的簡單使用


需求

一個運行很久的系統裏面可能包含了非常多的垃圾文件. 
但是又不可能隨便刪除, 很多垃圾可能有某些奇葩的用法. 
有時候新建一個應用複製文件的話比較浪費磁盤和帶寬.
所以這裏簡單總結一下一些很簡單的用法.

第一部分安裝

有時候很多低配安裝的系統不帶rsync的命令
如果可以上網可以直接安裝. 
如果不能上網可以下載rsync的rpm包進行安裝.
實在不可以, 可以拿一個差不多版本同架構機器上面的rsync的二進制
複製到 /usr/bin 目錄下 進行使用. 

第二部分: 差分同步

rsync -av /data/myapp  /databack/ --delete
說明1:
-a 的命令表廣泛:
-a, --archive               archive mode; equals -rlptgoD (no -H,-A,-X)
等效於如下命令一起使用:
-r, --recursive             recurse into directories
-l, --links                 copy symlinks as symlinks
-p, --perms                 preserve permissions
-g, --group                 preserve group
-o, --owner                 preserve owner (super-user only)
-t, --times                 preserve modification times
說明2:
-v 僅是爲了驗證效果, 以後可以不使用
說明3:
--delete 
是會將第一個目錄裏面曾經刪除過的動作在目錄2裏面執行重演. 
能夠保證兩個目錄再增量備份時,刪除的文件也是一樣的. 

第二部分: 排除部分文件

回到需求裏面的描述. 其實我們很大的需求是可以少同步幾個目錄. 來提高速度
命令需要爲:
rsync -av --exclude="somepath/underpatch" --exclude="*.log"  /data/myapp [email protected]:/databack/

說明1:
注意--exclude= 的後面需要使用雙引號. 
注意引號內部/data/myapp 作爲父路徑的目錄或者是文件即可. 比如 如果不想同步 /data/myapp/somepath 直接輸入
--exclude="somepath" 就可以. 

說明2:
-v 也可以忽略. 

第三部分: 關於 / 的處理

先說明: 結論需要自己實測. 我這邊使用的是centos 其他操作系統我保證不了

認爲關於 / 的處理. From的路徑是有用的. To的路徑用途不大. 都會指代路徑. 
嘉定目錄信息爲:
/data/myapp/{1,2,3}

rsync -av /data/myapp /databack/ 
這個命令 會將 myapp 完整的複製到 /databack/的目錄下面
結果就是 /databack/myapp/{1,2,3}

rsync -av /data/myapp/ /databack2
這個命令 會將 myapp 下面的內容複製到 /databack2/ 的目錄下面
結果爲 /databack2/{1,2,3}

第三部分: 關於複製部分最近修改的文件

rsync -av remote_host:'$(find logs -type f -ctime -1)' local_dir 
如果端口號不是標準的:
rsync -av -e 'ssh -p 2234' source/ user@remote_host:/destination
注意 如果ssh互信了,可以直接用.
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章