docker中 gitlab安装 备份 恢复

docker安装gitlab

docker run -d \ --hostname gitlab \ --publish 8443:443 --publish 8090:80 --publish 8022:22 \ --name gitlab \ --restart=always \ --privileged=true \ --volume /home/gitlab/etc:/etc/gitlab \ --volume /home/gitlab/log:/var/log/gitlab \ --volume /home/gitlab/data:/var/opt/gitlab \ twang2218/gitlab-ce-zh

备份

定时任务

1 0 * * * root /usr/bin/docker exec gitlab2 gitlab-rake gitlab:backup:create >> /tmp/bk.log 2>&1

echo '1 0 * * * root /usr/bin/docker exec gitlab2 gitlab-rake gitlab:backup:create >> /tmp/bk.log 2>&1' >> /etc/crontab

–保留7天的备份

!/bin/bash find /home/fantasy/gitlab/data/backups -type f -name “*_gitlab_backup.tar” -mtime +7 -exec rm {} \;

–如果有问题恢复gitlab备份


docker exec -it -uroot gitlab bash
gitlab-ctl stop unicorn
gitlab-ctl stop sidekiq
gitlab-rake gitlab:backup:restore BACKUP=1737302495_2025_01_19_11.1.4
gitlab-ctl restart

-----------说明
停止数据写入 执行这两条命令 停两个服务
gitlab-ctl stop unicorn
gitlab-ctl stop sidekiq
gitlab-rake gitlab:backup:restore BACKUP=备份文件名
文件名只要数字部分就可以了
gitlab-rake gitlab:backup:restore BACKUP=1737302495_2025_01_19_11.1.4
一直按yes
整个恢复执行过程中,我们可以看到基本是在删除表,创建表。
完成后把gitlab 服务重启
gitlab-ctl restart

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注