gitea自动备份到nas

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
Licensed under CC BY-NC-SA 4.0
comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计