网站建设商城模板,建设房地产网站,网络规划与设计报告,代推广app下载gitlab服务有非常简洁的每日备份命令#xff0c;
从production的gitlab的每日备份中restore到backup环境也非常方便。
一、Production gitlab每日备份
1. Production gitlab环境上编写脚本
cat /root/gitlab_bak.shgitlab-rake gitlab:backup:create /var/opt/gitl…gitlab服务有非常简洁的每日备份命令
从production的gitlab的每日备份中restore到backup环境也非常方便。
一、Production gitlab每日备份
1. Production gitlab环境上编写脚本
cat /root/gitlab_bak.shgitlab-rake gitlab:backup:create /var/opt/gitlab/backups/log/$(date %Y-%m-%d-%H:%M:%S).log
运行这个脚本会生成tar包到gitlab配置文件中指定的backup路径。
gitlab配置文件/etc/gitlab/gitlab.rb中配置backup路径的部分如下默认路径为/var/opt/gitlab/backups
### Backup Settings
###! Docs: https://docs.gitlab.com/omnibus/settings/backups.html# gitlab_rails[manage_backup_path] true
gitlab_rails[backup_path] /var/opt/gitlab/backups
2. 创建定时任务进行每日备份
0 2 * * * /root/gitlab_bak.sh
二、Backup的gitlab从每日备份中restore
1. Backup gitlab环境上创建脚本
restore脚本如下
cat gitlab_restore.sh#!/bin/bashbackup_file$(ls -t /var/opt/gitlab/backups/*.tar|head -1)
restore_path/var/opt/gitlab/backups
echo $(date %Y-%m-%d %H:%M:%S) Start restoring from backup file: $backup_file# stop db related services
gitlab-ctl stop unicorn
gitlab-ctl stop sidekiq# prepare the backupfiles to restore path
rm -rf ${restore_path}/*
cp ${backup_file} ${restore_path}/
chmod 777 -R ${restore_path}/*gitlab-rake gitlab:backup:restore forceyesgitlab-ctl reconfigure gitlab-ctl restartrm -rf ${restore_path}/*echo $(date %Y-%m-%d %H:%M:%S) End restoring, backup gitlab url: http://xxx
需要把production备份的/var/opt/gitlab/backups/*.tar 拷贝到backup环境。
2. 运行脚本即可完成restore
注
注意定期清理路径/var/opt/gitlab/git-data/repositories/gitaly/tmp
这个路径会占比较大的空间。可能会导致空间不足restore失败。