1. 程式人生 > >rsync遠端資源同步

rsync遠端資源同步

rsync是可以實現增量備份的工具,也可實現scp的遠端拷貝、cp的本地拷貝等功能;

(1)rsync命令常用引數:

-v, --verbose 詳細模式輸出
-q, --quiet 精簡輸出模式
-c, --checksum 開啟校驗開關,強制對檔案傳輸進行校驗
-a, --archive 歸檔模式,表示以遞迴方式傳輸檔案,並保持所有檔案屬性,等於-rlptgoD
-r, --recursive 對子目錄以遞迴模式處理
-b, --backup 建立備份,也就是對於目的已經存在有同樣的檔名時,將老的檔案重新命名為~filename。可以使用--suffix選項來指定不同的備份檔案字首。
-suffix=SUFFIX 定義備份檔案字首
-u, --update 只同步已經更新的檔案,避免沒有更新的檔案被重複更新一次
-l, --links 保留軟鏈結
-p, --perms 保持檔案許可權
-o, --owner 保持檔案屬主資訊
-g, --group 保持檔案屬組資訊
-t, --times 保持檔案時間資訊
-e, --rsh=COMMAND 指定使用rsh、ssh方式進行資料同步
--delete 刪除那些DST中SRC沒有的檔案
--delete-excluded 同樣刪除接收端那些被該選項指定排除的檔案
--delete-after 傳輸結束以後再刪除
--ignore-errors 及時出現IO錯誤也進行刪除
--force 強制刪除目錄,即使不為空
--timeout=TIME IP超時時間,單位為秒
--progress 顯示備份過程
-z, --compress 對備份的檔案在傳輸時進行壓縮處理
--exclude=PATTERN 指定排除不需要傳輸的檔案模式
--include=PATTERN 指定不排除而需要傳輸的檔案模式
--exclude-from=FILE 排除FILE中指定模式的檔案
--include-from=FILE 不排除FILE指定模式匹配的檔案

(2)基本語法:

拉取資料:rsync  [option...]   [[email protected]]host:src...   [dest]

推送資料:rsync  [option...]   src...   [[email protected]]host:dest

(3)舉例說明使用場景:

1、本地拷貝目錄,將/home/www/test1/ 拷貝到/home/www/test2/

     rsync  -auv  /home/www/test1  /home/www/test2

2、將本地目錄拷貝到遠端伺服器

    rsync  -auv  --progress  --delete  /home/www/test1   [email protected]:/home/www/test2

    如果不想顯示具體傳輸過程可以去掉--progress引數,如果需要壓縮傳輸,可以加上-z 引數

    --delete 引數,這樣當本地刪除檔案時,遠端也會自動刪除,保持完整一致;

3、將遠端目錄拷貝到伺服器目錄

   rsync  -avu  --progress  --delete 

[email protected]:/home/www/test1/  /home/www/test2/