前言

gitlab这个代码托管工具真是强大,很多东西都是做好了直接用的。

这里就包括备份和恢复功能。

正文

  1. 备份

    我们可以直接运行此命令,来进行备份。

    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的备份名称。

    可将其做成定时任务,定期备份。

  2. 恢复

    我们可以将备份出来的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

    当然,两边的版本最好一致,否则会出问题。

05-11 22:04