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

脚本备份数据

每天凌晨5点,将A服务器的 /mnt/nexus_storage 同步到B服务器的/mnt/nexus_backup目录下,两台都是的rocky linux9.5的系统,应该怎么操作呢?

好问题!你想要 每天凌晨5点自动同步 A 服务器的 /mnt/nexus_storage 到 B 服务器的 /mnt/nexus_backup,这是一个非常典型的 跨机备份任务,建议使用 rsync + SSH + cron 的方式实现,稳定高效。

我来手把手教你配置,一次性搞定。


🧩 一、环境假设

项目A服务器(源)B服务器(目标)
IP192.168.1.10192.168.1.20
用户root(或其他有权限用户)root(或其他有权限用户)
路径/mnt/nexus_storage/mnt/nexus_backup

✅ 二、步骤总览

  1. 在 A 服务器上生成 SSH 密钥并推送到 B
  2. 测试 rsync 是否能无密码执行
  3. 写一个自动同步脚本
  4. cron 设置每天凌晨 5 点执行

🛠️ 三、详细操作步骤

1. 在 A 服务器上生成 SSH 密钥

ssh-keygen -t rsa -b 4096 -f ~/.ssh/id_rsa -N ""

然后推送到 B 服务器:

ssh-copy-id root@192.168.1.20

测试:

ssh root@192.168.1.20

如果不需要密码直接登录,说明成功了。


2. 测试 rsync 同步命令(在 A 上执行)

rsync -avz --delete /mnt/nexus_storage/ root@192.168.1.20:/mnt/nexus_backup/

参数说明:

  • -a:归档模式,保留权限、时间等
  • -v:显示详细信息
  • -z:压缩传输
  • --delete:B 上如果 A 已删除文件,也会删除(保证一致)

3. 写一个脚本(例如 /root/backup_to_b.sh

#!/bin/bashrsync -avz --delete /mnt/nexus_storage/ root@192.168.1.20:/mnt/nexus_backup/ >> /var/log/nexus_backup.log 2>&1

然后给它执行权限:

chmod +x /root/backup_to_b.sh

4. 加入 crontab

编辑 A 服务器的 crontab:

crontab -e

加入:

0 5 * * * /root/backup_to_b.sh

保存即可,表示每天凌晨 5 点运行脚本。


🧪 五、验证备份成功

你可以查看日志:

tail -f /var/log/nexus_backup.log

或者用定期对比 du -sh 看目录大小是否一致。


如果你希望这个脚本稍微更健壮(比如判断 ssh 是否可达、写入失败日志等),我也可以帮你升级脚本逻辑,要不要?

相关文章:

  • 热敏电阻的应用说明
  • Centos虚拟机远程连接缓慢
  • 数据结构与算法-顺序表应用
  • 网络原理 - 4(TCP - 1)
  • AI深度伪造视频用于诈骗的法律定性与风险防范
  • Mysql的redolog
  • React:<></>的存在是为了什么
  • VMwaer虚拟机复制粘贴、ROS系统安装
  • 嵌入式软件测试的革新:如何用深度集成工具破解效率与安全的双重困局?
  • 前端路由 ( 1 ) | history 原理
  • 网络流的各种模型+题单
  • C语言高频面试题目——内联函数和普通函数的区别
  • python番外
  • 部署Megatron - LM,快速上手使用
  • P3909 异或之积 解题报告
  • 使用 Nacos 的注意事项与最佳实践
  • 深入理解CSS中的`transform-origin`属性
  • 树莓派超全系列教程文档--(40)树莓派config.txt旧版GPIO控制、超频及条件过滤器
  • 2025.4.22学习日记 JavaScript的常用事件
  • 电力系统中为什么采用三相交流电?
  • 视频丨习近平同阿塞拜疆总统会谈:两国建立全面战略伙伴关系
  • 国际货币基金组织报告:将今年全球经济增长预期由此前的3.3%下调至2.8%
  • 马上评|治理计量不准确收费不规范,水电气要有明白账
  • 中国政府援缅第八批紧急人道主义地震救灾物资抵达缅甸
  • 新华社经济随笔:机器人“摔倒、爬起”的背后
  • 最高法报告点名“夜郎古酒”商标侵权案:促成当事人握手言和