前言
gitlab这个代码托管工具真是强大,很多东西都是做好了直接用的。
这里就包括备份和恢复功能。
正文
备份
我们可以直接运行此命令,来进行备份。sudo gitlab-rake gitlab:backup:create
然后gitlab就会将现有的所有内容打包成一个tar包,默认会将其放在/var/opt/gitlab/backups下,例如这种:
1581818513_2020_02_16_12.0.3_gitlab_backup.tar
1581818513:一个时间戳,代表从1970年01月01日零时开始,过了多少秒;
2020_02_16:日期,代表备份日是几号;
12.0.3:版本号,代表gitlab的版本;
gitlab_backup.tar:在后边是gitlab的备份名称。可将其做成定时任务,定期备份。
恢复
我们可以将备份出来的tar包放到backup目录(默认/var/opt/gitlab/backups)下,然后执行以下命令:sudo gitlab-ctl stop unicorn
sudo gitlab-ctl stop sidekiq
gitlab-rake gitlab:backup:restore BACKUP=时间戳 #多个tar包时,可通过时间戳选择要恢复的tar包
gitlab-rake gitlab:backup:restore #仅有一个tar包在backup目录下的时候
然后,重新加载配置并重启。
sudo gitlab-ctl reconfigure
sudo gitlab-ctl restart
当然,两边的版本最好一致,否则会出问题。