Last-Modified: 2019年6月3日15:01:20linux
最近公司有一臺服務器從 ucloud 遷移到 華爲雲, 一坨MongoDB數據庫須要遷移.數據庫
爲何使用 rsync:服務器
小提示:網絡
# 打包壓縮的文件 zip -r archive.zip ./* # 可選: 將壓縮包拆分紅1G一個的小文件 # -d 使用數字後綴, 而不是字母后綴 split -b 1G -d archive.zip archive_split # split 對應的合併命令 cat archive_split* > new_archive.zip
rsync 文檔ssh
# 傳輸文件 # -P,----partial 斷點續傳(保留那些因故沒有徹底傳輸的文件,以便加快隨後的再次傳輸) # -e 以ssh方式進行數據傳輸, ssh -p2222 指定鏈接2222端口 # --progress 顯示傳輸進度 # --bwlimit 限速, 字節/秒 # -r,--recursive 對子目錄以遞歸模式處理 # -c, --checksum 打開校驗開關,強制對文件傳輸進行校驗。 # --delete 刪除那些DST中SRC沒有的文件。 # -z, --compress 對備份的文件在傳輸時進行壓縮處理。 # --exclude=PATTERN 指定排除不須要傳輸的文件模式。 # --include=PATTERN 指定不排除而須要傳輸的文件模式。 # -v, --verbose 詳細模式輸出。 # -q, --quiet 精簡輸出模式。 # -a, --archive 歸檔模式,表示以遞歸方式傳輸文件,並保持全部文件屬性,等於-rlptgoD rsync -P -e "ssh -p2222" --progress --bwlimit=1024 root@xx.xx.xx.xx:/data/transfer/archive.zip /data/archive.zip
解釋一下上面執行命令的參數:ui
-P
支持斷點續傳, 網絡傳輸中網絡斷開是極可能發生的-e "ssh -p2222"
指定ssh傳輸方式, SRC的ssh端口非默認的22端口--progress
顯示進度, 方便肉眼觀察因爲傳輸的是zip壓縮包, 所以未加上 -z
參數..net