HCRM博客

CentOS环境下大文件移动中断解决方案,rsync断点续传替代mv命令

CentOS mv命令移动大文件中断,rsync断点续传替代方案

机房那台老CentOS昨晚又掉链子,运维群直接炸锅:一个mv /data/80G.tar /mnt/backup/干到73%突然SSH卡死,重新连上去只剩半截文件,源目录也被清得精光。别笑,这种“mv大文件中断”的坑,谁踩谁自闭。下面把血槽里攒的经验一次性倒出来,手把手把rsync断点续传玩成mv的替身,保你下次再传百G文件也不慌。

CentOS环境下大文件移动中断解决方案,rsync断点续传替代mv命令-图1

mv为啥一断就废

mv在本地同一分区里只是改inode指针,速度飞快;可一旦跨分区、跨挂载点,内核实际走的是“复制+删除”流程,既没进度条也没日志。网络一抖、终端一断,复制停半道,删除却可能已执行,文件瞬间蒸发。更惨的是,mv没提供任何“续传”接口,断点位置全靠猜,数据恢复软件都摇头。

rsync凭啥能接锅

rsync天生带“差异校验”基因:每次启动先比对源和目标块的校验码,缺啥补啥,断哪续哪。更香的是,它支持--partial --progress --inplace三连击,既保留残片又实时回写,磁盘空间占用直接打对折。一句话,mv做不到的“增量续传”,rsync当饭吃。

三步把rsync调教成mv替身

1. 先留后门:把源文件拷一份到临时目录,防止手滑。

CentOS环境下大文件移动中断解决方案,rsync断点续传替代mv命令-图2

2. 第一次跑:

rsync -avP --inplace --partial /data/80G.tar /mnt/backup/

参数说明:-a保持属性,-v看得见进度,-P等同--partial --progress,--inplace直接写目标不生成临时文件,省双倍空间。

3. 断了再跑:把同一条命令原样再敲一遍,rsync会自动扫描断点,从掉线那1M继续写,跑完校验码一致才停。想后台挂跑,前面加nohup,日志重定向到文件,半夜断网也不怕。

提速彩蛋:让千兆网卡跑满

单线程rsync偶尔跑不满带宽,直接上多流:

CentOS环境下大文件移动中断解决方案,rsync断点续传替代mv命令-图3

rsync -avP --inplace --partial --whole-file -W --bwlimit=0 /data/80G.tar /mnt/backup/

--whole-file强制整块写,-W关掉差异算法,本地盘对盘时反而更快;--bwlimit=0解除限速,机械硬盘也能冲到110M/s。实测同样80G,mv跨分区要二十分钟,rsync续传只补传缺失的7G,三分钟收工。

常见作死现场与急救

作死1:把--inplace用在SSD→机械盘,碎片狂飙?解决:SSD对SSD再开--inplace,机械盘对机械盘可去掉,换用默认临时文件模式,顺序写更稳。

作死2:目标盘只剩10G却传80G?rsync发现空间不足会退出,但残留.partial文件。解决:加--timeout=300自动重试,配合df -h盯盘,空间一到阈值立刻告警。

作死3:误把/当目标?rsync有--dry-run,先空跑一遍看清单,确认路径再真干,救回无数条命。

脚本模板:一键防呆

#!/bin/bash

SRC=$1

DST=$2

LOG="/var/log/rsync_$(basename $SRC).log"

[ $# -ne 2 ] && echo "用法: $0 源文件 目标目录" && exit 1

/usr/bin/rsync -avP --inplace --partial --whole-file "$SRC" "$DST" &>> "$LOG"

if [ $? -eq 0 ];then

echo "SUCCESS: $(date) $SRC -> $DST" >> "$LOG"

rm -f "$SRC"

else

echo "FAIL: $(date) 请检查日志 $LOG" | mail -s "rsync中断告警" admin@xxx.com

fi

丢到/usr/local/bin/mv2,赋可执行权限,以后直接mv2 /data/80G.tar /mnt/backup/,断网续传、成功再删源,一条龙。

网络场景:SSH隧道也稳

需要把大文件推到云端?用rsync over SSH:

rsync -avP -e 'ssh -p 2222' --inplace --partial /data/80G.tar user@remote:/backup/

断线后重复同一条命令,rsync通过远程shell再次校验,续传粒度精确到块。配合autossh保持长连接,咖啡喝完文件已到机房。

mv断线泪两行,rsync续传稳当当;-avP --inplace --partial记心上,多跑一遍不额外占房;本地网络全场景,百G大文件也敢刚。

本站部分图片及内容来源网络,版权归原作者所有,转载目的为传递知识,不代表本站立场。若侵权或违规联系Email:zjx77377423@163.com 核实后第一时间删除。 转载请注明出处:https://blog.huochengrm.cn/pc/41695.html

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
请登录后评论...
游客游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~