简介
gitlab 一直没有推出定时任务备份 gitlab 的功能,官方文档对于容器搭建的 gitlab 也是直接用 docker exec 或者 kubectl exec 这样子去备份,这样子做的话十足的麻烦,今天在网上冲浪的时候突然发现一个很好的备份方法
操作
你直接用两个环境变量就好了
- name: BACKUP_CRONTAB
value: |
SHELL=/bin/bash
50 11 * * * root gitlab-backup create
- name: GITLAB_POST_RECONFIGURE_SCRIPT
value: |
echo "$$BACKUP_CRONTAB" > "/backup-crontab"
go-crond "/backup-crontab" &
解释下
BACKUP_CRONTAB
定义的是备份的脚本
GITLAB_POST_RECONFIGURE_SCRIPT
这个变量是允许用户在GitLab重新配置完成之后,执行一些定制化的操作。而go-crond是一个定时任务调度器
这样子的话备份的任务就直接交给go-crond去管理了
但是需要注意的是/etc/gitlab
这个目录是没有备份的,但是这个目录几乎不会改变,你只需要修改完配置文件之后手动备份一下就好了
欢迎关注我的博客www.bboy.app
Have Fun