ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

使用rsync向服务器迁移大文件

2022-09-12 11:30:47  阅读:180  来源: 互联网

标签:文件 rsync -- 传输 split 服务器 迁移 archive


场景

本人将12G本地单文件(12G大小h5文件数据集)向Linux服务器进行大文件上传时传输失败。最初使用 scp 命令或 rsync 直接对大文件进行传输,会出现网络断开或服务器端管道破裂情况,而且一次性无法传输的话也会耗费很多时间。

步骤

为了解决此问题,可分为以下步骤进行操作:

# 打包压缩大文件
zip -r archive.zip ./bigfile

# 可选:将压缩包拆分成1G文件
# -b后输入子节 若要拆分为1G文件块 1G=1073741820 byte
split -b 1073741820 archive.zip archive_split

# 此时文件会分为很多带有字母后缀的archive_split{a, b..}之类的文件 对其进行rsync传输

# 在服务器端对传输来的文件块进行合并
cat archive_split* > new_archive.zip

rsync传输

# 传输文件
# -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 --compress ./archive_split* root@ip:/xxx/xxx/

解释一下上面执行命令的参数:

  • -P支持断点续传,网络传输中网络断开是肯可能发生的
  • --progress显示进度,方便肉眼观察
  • --compress对备份文件在传输时进行压缩处理

标签:文件,rsync,--,传输,split,服务器,迁移,archive
来源: https://www.cnblogs.com/S1mpleBug/p/16685787.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有