gitea 是非常轻量简洁,但是功能完整的一个git私有化工具。 爱不释手ing
我这里同样是 pve+lxc+alpine 搭建 直接用的 alpine仓库的gitea 安装的。版本不是最新的,但是够用。
之前的备份方案 是 把整个运行目录备份过去 然后利用nas配置好的kopia 进行快照管理
1
| rclone sync gitea-local:/var/lib/gitea/ /mnt/nas/git_note_other_run_date/gitea/run_bak/ -P #备份到nas
|
在刚开始的时候 没问题,但是随着仓库的增加 文件越来越多 带来一些别的的问题
于是 利用gitea自带的备份方案 另外加dump 备份
1
2
3
4
5
6
7
8
9
10
11
12
13
14
| cat > ~/nas_core/back/1_3_gitea_to_nas.sh<< \EOF
#!/bin/bash
sh /root/nas_core/back/0_0_file_to_nas_patch.sh #这里是把nas挂载到 /mnt/nas 目录 方便后续更换nas核心的时候 脚本不需要额外维护
# gitea 同步备份
sshpass -p 密码 ssh root@10.1.1.30 'su -c "cd /var/lib/gitea/;rm -rf ./gitea-dump*.zip;' # 删除 dump备份 文件
rclone sync gitea-local:/var/lib/gitea/ /mnt/nas/git_note_other_run_date/gitea/run_bak/ -P #备份到nas
# gitea dump 备份
sshpass -p 密码 ssh root@10.1.1.30 'su -c "cd /var/lib/gitea/;gitea dump;mv gitea-dump-*.zip gitea-dump.zip" gitea' # 备份到 gitea-dump.zip
# 备份到nas 文件有100M+ 所以 版本管理 给 kopia处理
rclone copyto gitea-local:/var/lib/gitea/gitea-dump.zip /mnt/nas/git_note_other_run_date/gitea/gitea-dump.zip -P #备份到nas
# 加说明
echo -e '# snapshot by kopia\n- gitea-dump.zip gitea dump\n- run_bak /var/lib/gitea/'> /mnt/nas/git_note_other_run_date/gitea/README.md
EOF
|
最后添加计划任务
1
2
3
| crontab -l > conf
echo "4 * * * * sh /root/nas_core/back/1_3_gitea_to_nas.sh" >> conf
crontab conf && rm -f conf && crontab -l
|