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