rsync同步數(shù)據(jù)

rsync和tar 都基于SSH協(xié)議的開通前提下操作

rsync命令是一個遠(yuǎn)程數(shù)據(jù)同步工具,可通過LAN/WAN快速同步多臺主機(jī)間的文件。rsync使用所謂的“rsync算法”來使本地和遠(yuǎn)程兩個主機(jī)之間的文件達(dá)到同步,這個算法只傳送兩個文件的不同部分,而不是每次都整份傳送,因此速度相當(dāng)快。 rsync是一個功能非常強大的工具


/usr/bin/rsync -vzrtopg -e "ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -o LogLevel=quiet -i /root/.ssh/id_rsa" --progress /server/mysql-metadata-storage-0.12.1.tar.gz root@47.94.169.123:/server/


對應(yīng)于以上六種命令格式,rsync有六種不同的工作模式:

拷貝本地文件。當(dāng)SRC和DES路徑信息都不包含有單個冒號":"分隔符時就啟動這種工作模式。如:rsync -a /data /backup

使用一個遠(yuǎn)程shell程序(如rsh、ssh)來實現(xiàn)將本地機(jī)器的內(nèi)容拷貝到遠(yuǎn)程機(jī)器。當(dāng)DST路徑地址包含單個冒號":"分隔符時啟動該模式。如:rsync -avz *.c foo:src

使用一個遠(yuǎn)程shell程序(如rsh、ssh)來實現(xiàn)將遠(yuǎn)程機(jī)器的內(nèi)容拷貝到本地機(jī)器。當(dāng)SRC地址路徑包含單個冒號":"分隔符時啟動該模式。如:rsync -avz foo:src/bar /data

從遠(yuǎn)程rsync服務(wù)器中拷貝文件到本地機(jī)。當(dāng)SRC路徑信息包含"::"分隔符時啟動該模式。如:rsync -av root@192.168.78.192::www /databack

從本地機(jī)器拷貝文件到遠(yuǎn)程rsync服務(wù)器中。當(dāng)DST路徑信息包含"::"分隔符時啟動該模式。如:rsync -av /databack root@192.168.78.192::www

列遠(yuǎn)程機(jī)的文件列表。這類似于rsync傳輸,不過只要在命令中省略掉本地機(jī)信息即可。如:rsync -v rsync://192.168.78.192/www


選項

-v, --verbose 詳細(xì)模式輸出。

-q, --quiet 精簡輸出模式。

-c, --checksum 打開校驗開關(guān),強制對文件傳輸進(jìn)行校驗。

-a, --archive 歸檔模式,表示以遞歸方式傳輸文件,并保持所有文件屬性,等于-rlptgoD。

-r, --recursive 對子目錄以遞歸模式處理。

-R, --relative 使用相對路徑信息。

-b, --backup 創(chuàng)建備份,也就是對于目的已經(jīng)存在有同樣的文件名時,將老的文件重新命名為~filename。可以使用--suffix選項來指定不同的備份文件前綴。

--backup-dir 將備份文件(如~filename)存放在在目錄下。

-suffix=SUFFIX 定義備份文件前綴。

-u, --update 僅僅進(jìn)行更新,也就是跳過所有已經(jīng)存在于DST,并且文件時間晚于要備份的文件,不覆蓋更新的文件。

-l, --links 保留軟鏈結(jié)。

-L, --copy-links 想對待常規(guī)文件一樣處理軟鏈結(jié)。

--copy-unsafe-links 僅僅拷貝指向SRC路徑目錄樹以外的鏈結(jié)。

--safe-links 忽略指向SRC路徑目錄樹以外的鏈結(jié)。

-H, --hard-links 保留硬鏈結(jié)。

-p, --perms 保持文件權(quán)限。

-o, --owner 保持文件屬主信息。

-g, --group 保持文件屬組信息。

-D, --devices 保持設(shè)備文件信息。

-t, --times 保持文件時間信息。

-S, --sparse 對稀疏文件進(jìn)行特殊處理以節(jié)省DST的空間。

-n, --dry-run現(xiàn)實哪些文件將被傳輸。

-w, --whole-file 拷貝文件,不進(jìn)行增量檢測。

-x, --one-file-system 不要跨越文件系統(tǒng)邊界。

-B, --block-size=SIZE 檢驗算法使用的塊尺寸,默認(rèn)是700字節(jié)。

-e, --rsh=command 指定使用rsh、ssh方式進(jìn)行數(shù)據(jù)同步。

--rsync-path=PATH 指定遠(yuǎn)程服務(wù)器上的rsync命令所在路徑信息。

-C, --cvs-exclude 使用和CVS一樣的方法自動忽略文件,用來排除那些不希望傳輸?shù)奈募?/p>

--existing 僅僅更新那些已經(jīng)存在于DST的文件,而不備份那些新創(chuàng)建的文件。

--delete 刪除那些DST中SRC沒有的文件。

--delete-excluded 同樣刪除接收端那些被該選項指定排除的文件。

--delete-after 傳輸結(jié)束以后再刪除。

--ignore-errors 及時出現(xiàn)IO錯誤也進(jìn)行刪除。

--max-delete=NUM 最多刪除NUM個文件。

--partial 保留那些因故沒有完全傳輸?shù)奈募允羌涌祀S后的再次傳輸。

--force 強制刪除目錄,即使不為空。

--numeric-ids 不將數(shù)字的用戶和組id匹配為用戶名和組名。

--timeout=time ip超時時間,單位為秒。

-I, --ignore-times 不跳過那些有同樣的時間和長度的文件。

--size-only 當(dāng)決定是否要備份文件時,僅僅察看文件大小而不考慮文件時間。

--modify-window=NUM 決定文件是否時間相同時使用的時間戳窗口,默認(rèn)為0。

-T --temp-dir=DIR 在DIR中創(chuàng)建臨時文件。

--compare-dest=DIR 同樣比較DIR中的文件來決定是否需要備份。

-P 等同于 --partial。

--progress 顯示備份過程。

-z, --compress 對備份的文件在傳輸時進(jìn)行壓縮處理。

--exclude=PATTERN 指定排除不需要傳輸?shù)奈募J健?/p>

--include=PATTERN 指定不排除而需要傳輸?shù)奈募J健?/p>

--exclude-from=FILE 排除FILE中指定模式的文件。

--include-from=FILE 不排除FILE指定模式匹配的文件。

--version 打印版本信息。

--address 綁定到特定的地址。

--config=FILE 指定其他的配置文件,不使用默認(rèn)的rsyncd.conf文件。

--port=PORT 指定其他的rsync服務(wù)端口。

--blocking-io 對遠(yuǎn)程shell使用阻塞IO。

-stats 給出某些文件的傳輸狀態(tài)。

--progress 在傳輸時現(xiàn)實傳輸過程。

--log-format=formAT 指定日志文件格式。

--password-file=FILE 從FILE中得到密碼。

--bwlimit=KBPS 限制I/O帶寬,KBytes per second。

-h, --help 顯示幫助信息。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容