当前位置: 首页 > news >正文

linux原生工具rsync增量备份

甲方服务器上面的附件有大几百G需要备份,网络备份断网对新旧文件都有问题,每次批量备份影响效率,上司提出了一个解决方法 :linux工具、增量备份。

增量备份即只备份新增/修改的文件,甚至包含同步删除(此处只备份暂未添加)。

工具:linux原生工具rsync

  1. 首先查看备份目录内存大小是否满足
  2. 创建.sh文件,可将下面代码直接复制。
  3. 增加权限
    chmod +x bak_attach.sh
  4. 可能遇到的问题:脚本兼容问题。如果你是Windows打开记事本从头编辑然后把文件甩给linux则会出现。(下面代码已做了处理无须重复)
    # 直接替换脚本中的 ^M 字符(命令中的 \r 对应 ^M) sed -i 's/\r$//' file.sh

功能:

  • 旧目录文件复制到新目录文件(包含子目录文件)
  • 日志成功错误会直接打印在终端
  • 执行前会检测内存 是否满足规定的10/100G(一开始是100G,测试改为10G)
  • 第一次完整备份,后续增量备份(只备份新增/修改)
  • 完美复制远文件元信息
#!/bin/bash # 增量备份脚本(封装rsync):备份整个目录下的所有文件、子目录及子目录内的所有内容 # 修改后:所有输出直接打印到终端,不生成日志文件;备份成功后打印新文件存放目录 # 1. 配置参数(========= 核心路径详细注释 =========) # 【源路径/老路径】:服务器上原始附件存放的目录(需要被备份的源目录) # 含义:这是你要备份的"原文件所在目录",也就是存量附件和新增/修改附件的存放目录 # 末尾的 "/" 必须保留:表示复制该目录下的所有内容(文件+子目录),而非复制目录本身 SOURCE_DIR="/home/ppt/" # 【目标路径/新路径】:备份文件要存储的目录(备份后的文件存放目录,即"新路径") # 含义:这是你要把附件备份到的目标位置,增量备份会把变更的文件同步到这个目录 # 支持两种形式:1. 本地目录(如下) 2. 跨服务器目录(示例:user@192.168.1.100:/backup/attachments/) # 末尾的 "/" 建议保留:和源路径格式统一,确保备份目录结构一致 TARGET_DIR="/home/backup/renmin/" # 2. 检查磁盘空间(剩余空间小于10G则停止备份,此处原100G改为10G,可按需调整) # ${TARGET_DIR%/*} :自动获取目标目录的上级目录(用于查询磁盘剩余空间) FREE_SPACE=$(df -m ${TARGET_DIR%/*} | awk 'NR==2{print $4}') if [ $FREE_SPACE -lt 10240 ]; then # 直接打印到终端,去掉日志重定向 echo "$(date +'%Y-%m-%d %H:%M:%S') - 错误:备份目录剩余空间不足10G,当前剩余:${FREE_SPACE}M" exit 1 fi # 3. 执行rsync增量备份 # 核心说明:该命令会备份 源路径(SOURCE_DIR) 下的【所有文件+所有子目录+子目录内的所有层级文件】 # -a 参数:归档模式,自动递归备份子目录,保留文件权限、时间戳等元信息(确保目录结构完整) # --delete 参数:同步删除操作(源目录删除的文件,备份目录也会同步删除,保持完全一致) # 去掉日志重定向,rsync进度直接打印到终端 echo "$(date +'%Y-%m-%d %H:%M:%S') - 开始执行增量备份" rsync -aP --delete --bwlimit=10240 $SOURCE_DIR $TARGET_DIR # 4. 判断备份是否成功 if [ $? -eq 0 ]; then # 直接打印成功信息到终端 echo "$(date +'%Y-%m-%d %H:%M:%S') - 增量备份执行成功" # 新增:打印新备份文件的存放目录(目标目录),清晰展示新文件位置 echo "📌 新备份文件(新增/修改)存放目录:$TARGET_DIR" # 可选:额外打印源目录,方便核对 # echo "📌 原始文件来源目录:$SOURCE_DIR" else # 直接打印失败信息到终端 echo "$(date +'%Y-%m-%d %H:%M:%S') - 错误:增量备份执行失败" # 可选:发送邮件/短信告警(按需启用,需自行配置邮件服务) # mail -s "附件增量备份失败" admin@xxx.com exit 1 fi # 注:已移除日志文件生成和归档逻辑,无需再清理旧日志
http://www.jsqmd.com/news/171293/

相关文章:

  • AI编程神器大揭秘!北京农商银行代码助手让开发效率起飞50%,中小银行也能“弯道超车“!
  • 2025年玻璃胶制造厂哪家更值得选?玻璃胶生产商哪家好?年度推荐TOP5解析 - myqiye
  • 低延迟GC实战秘籍,全面解析ZGC分代模式下的内存优化技巧
  • 如何用Spring Native + AOT 实现微服务极速部署?一线大厂落地案例全解析
  • 大模型进阶第一课:深度解析LLM底层逻辑,看完这篇才懂怎么开发(非常详细)。
  • GitHub Pages发布静态网站展示TensorFlow项目成果
  • 门窗胶制造厂哪家更值得选?合作案例多、推荐力高品牌排名全解析 - 工业推荐榜
  • 解决PyTorch安装教程GPU常见问题?不如试试TensorFlow 2.9镜像
  • 无需繁琐配置!TensorFlow-v2.9预装镜像助你秒启项目
  • 适配企业管理需求:2026陕西本地ERP企业信息化软件服务商最新推荐清单 - 深度智识库
  • 【DataGrip打不开如何排查?】
  • 使用TensorFlow-v2.9镜像快速复现ImageNet分类任务
  • 还在为GC停顿烦恼?ZGC分代模式让STW接近零感知
  • 【Quarkus 2.0性能革命】:为什么它成为边缘计算场景下原生编译的首选框架?
  • 平板电脑零件测量精度革命:高精度图像尺寸测量仪IMAGE 3 MAX如何破解行业难题?
  • 强力修护精华大揭秘:哪个牌子适合晒伤肌且口碑好? - mypinpai
  • 【Java性能优化新纪元】:ZGC分代模式如何重塑企业级应用内存管理?
  • 如何用Java安全读写操作系统内存?底层原理深度剖析
  • HTML嵌入Jupyter输出图表:基于TensorFlow 2.9镜像的数据展示
  • git push之前用TensorFlow 2.9镜像做一次最终验证
  • Markdown definition list定义AI专业术语词典
  • 企业AI转型不用愁?JBoltAI带你解锁AIGS新范式!
  • 敏感肌救星!强力修护精华选购指南 - myqiye
  • AI全景之第九章第一节:AI应用(金融科技)
  • 【JVM性能革命】:为什么顶尖团队都在用新的MemorySegment API?
  • 图论随机跳题
  • GitHub Actions自动化测试TensorFlow 2.9模型训练脚本
  • 高精度图像测量仪如何破解高精密零件检测难题?
  • 自吸泵、液下泵、化工泵、磁力泵哪个厂家品质好,亚梅泵业用“服务温度”与“技术厚度”筑牢泵业品质根基 - 品牌推荐大师1
  • 2025年的MD模拟机构排行榜,专业MD模拟公司推荐精选 - mypinpai