当前位置: 首页 > Linux

服务器之间迁移大文件

时间:2023-04-07 01:43:47 Linux

Last-Modified:June3,201915:01:20背景最近公司有一台服务器从ucloud迁移到华为云,需要迁移一堆MongoDB数据库。为什么要用rsync:largefiles传输的时候不要想着ftp:serverA->local->serverBscp传输大文件,万一断网,你就得哭Tips:记得买临时带宽包在源服务器上,避免浪费时间传输前的准备#打包压缩文件zip-rarchive.zip./*#可选:将压缩包拆分成每个1G的小文件#-d使用数字后缀代替字母后缀split-b1G-darchive.ziparchive_split#split对应合并命令catarchive_split*>new_archive.ziprsynctransferrsyncfile#transferfile#-P,----partialresuming(保留那些因为某些原因没有完全传输的文件,以便以加快后续重传)#-essh模式下的数据传输,ssh-p2222指定连接端口2222#--progress显示传输进度#--bwlimit限速,byte/second#-r,--recursive对于子目录模式递归processing#-c,--checksum打开校验和开关以强制对文件传输进行校验和。#--delete在DST中删除不在SRC中的文件。#-z,--compress在传输过程中压缩备份文件。#--exclude=PATTERN指定排除不需要传输的文件模式。#--include=PATTERN指定需要不排除传输的文件模式。#-v,--verbose详细模式输出。#-q,--quiet安静输出模式。#-a,--archive归档模式,递归传输文件,并保留所有文件属性,等于-rlptgoDrsync-P-e"ssh-p2222"--progress--bwlimit=1024root@xx.xx.xx。xx:/data/transfer/archive.zip/data/archive.zip解释一下上面命令的参数:-P支持断点续传,网络传输过程中很可能出现断网-e"ssh-p2222"指定ssh传输方式,src的ssh端口不是默认的22端口--progress来显示进度,方便直观观察。由于传输的是zip压缩包,所以不加-z参数。