[Git] 源码服务器主/备备份方案

方案架构

采用备机主动拉取模式:

  1. 业务主机定时自动压缩 Git 仓库为备份包
  2. 备机通过 Rsync 定时拉取
  3. 按星期 1~5 循环覆盖,无需手动删旧备份,长期零维护
  4. 最大限度降低业务主机 IO 与负载

前置准备

  • 主备服务器内网互通
  • 备机可 SSH 免密登录业务主机
  • 主机 Git 仓库路径固定

一、业务主机:配置 Git 仓库自动打包

1.1 主机打包脚本

主机新建脚本:/home/git_dump.sh,运行

复制代码
#!/bin/bash
# Git仓库路径
GIT_PATH="/data/git/repo"
# 备份压缩包名称
BAK_FILE="/home/gitrepo.tar.gz"

# 压缩整个Git仓库
tar -zcvf $BAK_FILE $GIT_PATH

1.2 赋予执行权限

运行

复制代码
chmod +x /home/git_dump.sh

1.3 主机定时任务 每日凌晨自动打包

运行

复制代码
crontab -e

写入

复制代码
0 0 * * * /home/git_dump.sh

每天 0 点自动把 Git 仓库压缩为 /home/gitrepo.tar.gz

二、备机配置 SSH 免密登录主机

2.1 备机生成密钥

运行

复制代码
ssh-keygen -t rsa

全程回车,不设密码。

2.2 公钥追加到主机

运行

复制代码
cat /root/.ssh/id_rsa.pub | ssh root@主机IP "cat >> /root/.ssh/authorized_keys"

2.3 验证免密

运行

复制代码
ssh root@主机IP

三、备机 Rsync 拉取备份脚本

备机新建:/root/git_backup.sh,运行

复制代码
#!/bin/bash
# 业务主机IP
MASTER_IP="192.168.x.x"
# 获取星期 1~5
WEEK=$(date +%u)

# 拉取主机备份包,按星期后缀覆盖
rsync -av root@$MASTER_IP:/home/gitrepo.tar.gz  /home/gitrepo.tar.gz.$WEEK
# 如有第二个备份包同理
rsync -av root@$MASTER_IP:/home/gitrepo2.tar.gz /home/gitrepo2.tar.gz.$WEEK

3.1 加执行权限

运行

复制代码
chmod +x /root/git_backup.sh

四、备机定时任务

运行

复制代码
crontab -e

周一至周五早 6 点拉取,无日志输出,运行

复制代码
0 6 * * 1-5 /root/git_backup.sh

五、备份文件规则

备机 /home 自动生成循环覆盖:

  • gitrepo.tar.gz.1 周一
  • gitrepo.tar.gz.2 周二
  • gitrepo.tar.gz.3 周三
  • gitrepo.tar.gz.4 周四
  • gitrepo.tar.gz.5 周五

六、测试方法

6.1 主机手动测试打包

运行

复制代码
/home/git_dump.sh

6.2 备机手动测试拉取

运行

复制代码
/root/git_backup.sh

6.3 查看定时执行

运行

复制代码
tail -f /var/log/cron

七、注意事项

  1. Rsync 只用 -av,内网不需要 -z 压缩。
  2. 禁止加 --delete,避免误删本地备份。
  3. 免密配置必须用 >> 追加,不能用 > 覆盖。
  4. 主机 Git 仓库路径按实际修改脚本里 GIT_PATH。
  5. 定时不输出日志,保持系统干净无垃圾。
相关推荐
非凡ghost1 小时前
视频剪辑不用等渲染,这款开源工具让切分合并秒级完成
运维·电脑·软件需求
FII工业富联科技服务3 小时前
Omniverse 数字孪生与柔性自动化,如何破解产能与交付、设备与空间的双重困境?
运维·自动化·devops
润滑卫士3 小时前
油液介电常数在线监测:测量原理与油液老化状态评估方法
运维
Rock Chin6974 小时前
把 n8n 接进 Slack:在对话里 @机器人 触发自动化工作流
运维·机器人·自动化
浩浩测试一下5 小时前
Linux 底层知识点 1
linux·运维·服务器
Eloudy5 小时前
全文 - IMEX 第01节 -IMEX overview
运维·服务器·网络
物联网软硬件开发-轨物科技6 小时前
【技术白皮书】光伏清检一体化机器人系统解决方案技术白皮书
大数据·运维·网络·人工智能·机器人
Escalating_xu6 小时前
【Linux 网络编程】TCP 跨平台实战:用 Windows 客户端访问 Linux 服务器
linux·服务器·网络
发量惊人的中年网工6 小时前
分公司访问总部ERP慢怎么办?SD-WAN组网的排查与验收要点
服务器·开发语言·php
海宇数据6 小时前
零信任架构实战:基于海宇网上踪迹欺诈行为识别构建自动化信贷资信评估网关
运维·人工智能·架构·自动化