gitea比较轻量,容易维护,占用服务器资源少(最基础的ECS甚至树莓派即可运行),自带备份命令行工具。此处,只是利用现有工具做的定期备份shell。

以下基于centos7(阿里云),仅供参考

1.安装配置gitea,参考官网,下载二进制文件,配置/etc/gitea/app.ini即可

https://docs.gitea.io/

2.配置gitea自动启动服务

配置gitea.service(官网提供示例代码,这儿不再赘述)至,并执行sudo systemctl enable gitea

3.配置阿里云OSS上传
下载备份工具ossutil64

执行./ossutil64 config生成OSS配置

4.编辑备份脚本,并设置为每周运行一次

执行crontab -e,然后追加如下内容0 2 * * 0 /bin/sh /data/backup/backup.sh

运行crontab -l查看结果:

image.png

附完整备份shell:

  • 使用gitea dump命令备份。
  • 只保留最近两次的文件。
  • 上传
#!/bin/sh
cd /data/backup
su git -c '/usr/local/bin/gitea dump --config /etc/gitea/app.ini '
find /data/backup/ -mtime +6 -name "gitea-dump*.zip" | xargs rm -f  >> backup.log  2>&1
/data/tool/ossutil64 cp -r /data/backup/ oss://xxx-backup/gitea --loglevel info -u

ccfish
1.2k 声望56 粉丝

专业救火员 专治各种不服。