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
查看后果:
附残缺备份 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