Gitlab 成功运行起来之后,最终的事情就是定期的备份,遇到问题后的还原。 备份配置 默认 Gitlab 的备份文件会创建在/var/opt/gitlab/backups文件夹中,格式为时间戳_日期_版本号_gitlab_backup.tar,例如:1515031353_2018 修改备份文件夹,需要修改配置文件/etc/gitlab/gitlab.rb中的: gitlab_rails['backup_path'] = '/your_wish/backups' 然后gitlabctl-reconfigure 手动备份 命令:gitlab-backup create For GitLab 12.1 and earlier, use gitlab-rake gitlab:backup:create 会在命令执行的时间点 自动备份 0 2 * * * /opt/gitlab/bin/gitlab-backup create CRON=1 备份恢复 First make sure your backup tar file
——歌德 首先进入Gitlab所在Docker容器 docker exec -it <gitlab-container-name> /bin/bash 执行: gitlab-backup create 然后退出容器、拷贝 docker cp <gitlab-container-name>:/var/opt/gitlab/backups /path/to/host/machine 还原的命令也很简单: 先停止 gitlab-ctl stop unicorn gitlab-ctl stop sidekiq 再还原 gitlab-backup restore BACKUP=timestamp_of_backup 例如 gitlab-backup restore BACKUP=1549251062_2019_02_04_11.8.1 然后重启即可 gitlab-ctl reconfigure gitlab-ctl
1.备份数据 gitlab-rake gitlab:backup:create #执行命令备份数据库 这是会自动备份到backups这个目录下面的,备份文件前面的一串数字就是时间戳,还原时候回用到! 2.使用scp命令把备份的数据拷贝到新的服务器上面去(我用的是免密传输) scp -r 1563788420_2019_07_22_10.4.2_gitlab_backup.tar root@192.168.1.1 :~ 3.到新服务器把刚才拷过来的备份文件放在backps目录下面: cp -rf /root/1563788420_2019_07_22_10.4.2_gitlab_backup.tar /var /opt/gitlab/backups/ 4.执行还原数据的命令(或者说是导入数据到新服务器) gitlab-rake gitlab:backup:restore BACKUP=1563788420_2019 _2019_07_22_10.4.2_gitlab_backup.tar (3)旧服务器的版本gitlab版本和新的服务器版本是不通的 解决方法,那就只能升级了,保持两个版本是一样的,在备份还原才行 5
Gitlab 创建备份 使用Gitlab一键安装包安装Gitlab非常简单, 同样的备份恢复与迁移也非常简单. Gitlab 修改备份文件默认目录 你也可以通过修改/etc/gitlab/gitlab.rb来修改默认存放备份文件的目录: gitlab_rails['backup_path'] = '/mnt/backups Gitlab 自动备份 也可以通过crontab使用备份命令实现自动备份: sudo su - crontab -e 加入以下, 实现每天凌晨2点进行一次自动备份: 0 2 * * * /opt/gitlab Gitlab迁移 迁移如同备份与恢复的步骤一样, 只需要将老服务器/var/opt/gitlab/backups目录下的备份文件拷贝到新服务器上的/var/opt/gitlab/backups即 可( 但是需要注意的是新服务器上的Gitlab的版本必须与创建备份时的Gitlab版 本号相同.
1、gitlab备份与恢复 参考:https://docs.gitlab.com/ce/raketasks/backup_restore.html 创建系统备份 sudo gitlab-rake gitlab:backup:create 备份文件存在/var/opt/gitlab/backups,可编辑/etc/gitlab/gitlab.rb修改 源码安装使用下面命令备份 sudo -u git name:gitlab> gitlab-rake gitlab:backup:create 将备份上传到远程存储(暂无) 将备份文件存储到本地 gitlab_rails['backup_upload_connection 备份配置文件 针对(Omnibus)备份:/etc/gitlab/gitlab.rb 、/etc/gitlab/gitlab-secrets.json 添加定时备份 每天凌晨两点备份 0 2 * * ] = 2592000 2、Omnibus安装恢复 确认备份档案放到gitlab.rb定义的备份目录(默认/var/opt/gitlab/backups) sudo cp 1504793137_2017
数据备份 : /etc/gitlab/gitlab.rb配置文件,查看一个和备份相关的配置项: gitlab_rails['backup_path'] = "/var/opt/gitlab/backups " #备份目录可以修改 默认备份出文件的路径,可以通过修改该配置,并执行gitlab-ctl restart 重启服务生效 gitlab-rake gitlab:backup:create #备份 自身集成的有自动删除备份配置。 打开/etc/gitlab/gitlab.rb配置 gitlab_rails['backup_keep_time'] = 604800 设置备份保留7天(7x3600x24=604800)秒为单位。 =备份编号 注:1、到底那个是备份编号?
由于gitlab中存放的都是开发人员的工作成果,所以为了保证数据安全,我们会定期对数据进行备份,对gitlab进行备份将会创建一个包含所有库和附件的归档文件。 对备份的恢复只能恢复到与备份时的gitlab相同的版本。将gitlab迁移到另一台服务器上的最佳方法就是通过备份和还原。 gitlab提供了一个简单的命令行来备份整个gitlab ,并且能灵活的满足需求。 一、备份 备份路径: 备份文件将保存在配置文件中定义的backup_path中 ,文件名为TIMESTAMP_gitlab_backup.tar,TIMESTAMP为备份时的时间戳。 " #备份路径 gitlab_rails['backup_keep_time'] = 604800 #备份周期-秒(7x24x3600) [root@zutuanxue git_data]# gitlab-ctl
GitLab 备份 GitLab 提供了内置的备份工具,通过 gitlab-backup 命令生成备份文件。 1. 备份环境准备 确保以下几点: 备份存储路径有足够的空间(默认路径为 /var/opt/gitlab/backups)。 管理员权限。 GitLab 服务正常运行。 2. 创建备份 运行备份命令: sudo gitlab-backup create 默认生成的备份文件名类似于 1672232546_2023_01_01_15.0.0_gitlab_backup.tar。 修改备份路径(可选):在 gitlab.rb 配置文件中指定备份路径: sudo vi /etc/gitlab/gitlab.rb 添加或修改以下配置: gitlab_rails['backup_path 恢复备份 将备份文件移动到备份目录: sudo cp /your/backup/path/<备份文件>.tar /var/opt/gitlab/backups/ 运行恢复命令: sudo gitlab-backup
前几天讲完了Gitlab的安装,再来讲讲Gitlab的备份和异地机器恢复。 实验环境 服务器A,已经有四十个仓库的Gitlab当前使用版本8.4.2,但因磁盘空间不足准备进行迁移。 在此机器上做备份操作。 服务器B,新源码服务器,按前几天的教程装好Gitlab版本8.4.4 步骤1,备份 gitlab在不同安装方式下备份指令也有所区别 #使用Omnibus包安装的请用 gitlab-rake gitlab 备份成功后会有如下格式输出证明备份成功。 升级后再进行备份恢复操作 步骤3,升级源服务器gitlab版本 #首先停止服务 service gitlab stop #在线获取指定版本,本次例子我们获取和目标服务器一样的8.4.4版本 cd /home
参考 Gitlab备份、迁移、恢复和升级 背景 项目中使用linux服务器作为Gitlab仓储,需要每天自动定时备份(数据备份到windows上),防止服务器磁盘损坏造成数据数据丢失。 GitLab备份操作 gitlab-rake gitlab:backup:create 执行之后会默认在/var/opt/gitlab/backups文件夹下产生备份文件 [root@master _04_13.1.4_gitlab_backup.tar 2.配置linux访问windows免密登录 方便Shell脚本scpGitLab备份文件 详见: Win7安装OpenSSH服务,并配置linux 配置Linux定时任务 crontab -e 0 1 * * * /opt/gitlabscp.sh 如此配置可设置每天凌晨1点,定时从gitlab服务器向windows主机导出备份文件 注意: 修改备份文件权限 chmod 777 /var/opt/gitlab/backups/1530156812_2018_06_28_10.8.4_gitlab_backup.tar 执行恢复 gitlab-rake
备份 docker exec -t <container name> gitlab-backup create 输出样例 2020-10-15 07:23:04 +0000 -- Dumping database 导出备份会存储在/home/gitlab/data/backups目录下 将文件拷贝到新的服务器上/home/gitlab/data/backups目录下 修改权限 chmod 755 1602316095 exec -it <name of container> gitlab-ctl stop unicorn docker exec -it <name of container> gitlab-ctl stop GitLab container docker restart <name of container> # Check GitLab docker exec -it <name of container > gitlab-rake gitlab:check SANITIZE=true 然后静静等待就可以了。
背景: gitlab 8.5.8版本.参照:https://github.com/sameersbn/docker-gitlab.git.太多年了也没有升级,现在准备备份还原到一个新的服务器然后升级一下 存储直接挂载了nfs存储未使用pv,pvc方式,如下: 图片 Kubernetes下备份gitlab 进入gitlab容器执行备份命令: 登陆一台CVM节点,当然了前提是可以exec进入gitlab容器控制台 -77d7878db-j8kqh bash -n gitlab gitlab-rake gitlab:backup:create 图片 图片 确认一下数据的备份目录: cat /etc/gitlab/gitlab.rb |grep back 默认的备份目录为:/var/opt/gitlab/backups目录 图片 进入/var/opt/gitlab/backups得到生成的备份文件如下: 图片 很漫长得到一个20多 (img-zVCADnM9-1678333347031) 注:BACKUP后跟备份文件_前面的时间辍格式.除了1678096354_gitlab_backup.tar压缩包外其他文件是执行过程中解压产生的文件
/usr/local/docker/gitlabdocker-compose up -d浏览器访问备份进入Gitlab容器docker exec -it 容器名 /bin/bash执行备份gitlab-rake gitlab:backup:create备份文件位置执行完命令后,备份文件默认放置cd /var/opt/gitlab/backups生成的文件名example : 1670995662_2022_12 _14_11.1.4_gitlab_backup.tar拷贝备份到宿主机执行完备份的命令后,退到宿主机器,复制容器里的备份文件到宿主机docker container cp 容器:/usr/local /docker/gitlab/backups/备份文件 /usr/local/docker/gitlab/backups/⚠️ 注意:如果按照安装中的docker-compose.yml已经将备份文件挂载到宿主机 备份copy将老机器上的备份文件上传到新机器上scp -r 备份文件 newServer:/usr/local/docker/gitlab/backupsscp -r 备份文件 root@新服务器的
1、gitlab备份 1.1、修改备份文件目录 1.2、设置备份过期时间 1.3、gitlab自动备份 2、gitlab迁移 3、gitlab恢复 4、gitlab升级 5、gitlab更改默认的 备份、迁移、恢复、升级过程如下 1、gitlab备份 备份前gitlab的项目如图所示 ? 备份时需要保持gitlab处于正常运行状态,直接执行gitlab-rake gitlab:backup:create进行备份 使用以上命令会在/var/opt/gitlab/backups目录下创建一个名称类似为 /etc/gitlab/gitlab.rb 配置文件须备份 /var/opt/gitlab/nginx/conf nginx配置文件 /etc/postfix/main.cfpostfix 邮件配置备份 1.1、修改备份文件目录 可以通过/etc/gitlab/gitlab.rb配置文件来修改默认存放备份文件的目录 gitlab_rails['backup_path'] = "/var/opt/gitlab
前面已经介绍了Gitlab环境部署记录,这里简单说下Gitlab的备份和恢复操作记录: 1)Gitlab的备份目录路径设置 [root@code-server ~]# vim /etc/gitlab/gitlab.rb gitlab备份目录 gitlab_rails['backup_archive_permissions'] = 0644 //生成的备份文件权限 gitlab_rails['backup_keep_time root@code-server ~]# gitlab-ctl reconfigure 2)GItlab备份操作(使用备份命令"gitlab-rake gitlab:backup:create") 手动备份 编写备份脚本,结合crontab实施自动定时备份,比如每天0点、6点、12点、18点各备份一次 [root@code-server backups]# pwd /data/gitlab/backups > /dev/null 2>&1 3)Gitlab恢复操作 GItlab只能还原到与备份文件相同的gitlab版本。
背景:gitlab 8.5.8版本.参照:https://github.com/sameersbn/docker-gitlab.git.太多年了也没有升级,现在准备备份还原到一个新的服务器然后升级一下。 存储直接挂载了nfs存储未使用pv,pvc方式,如下:图片Kubernetes下备份gitlab进入gitlab容器执行备份命令:登陆一台CVM节点,当然了前提是可以exec进入gitlab容器控制台。 -77d7878db-j8kqh bash -n gitlabgitlab-rake gitlab:backup:create图片图片确认一下数据的备份目录:cat /etc/gitlab/gitlab.rb |grep back默认的备份目录为:/var/opt/gitlab/backups目录图片进入/var/opt/gitlab/backups得到生成的备份文件如下:图片很漫长得到一个20多G的压缩包 (img-zVCADnM9-1678333347031)注:BACKUP后跟备份文件_前面的时间辍格式.除了1678096354_gitlab_backup.tar压缩包外其他文件是执行过程中解压产生的文件
这一篇可以说是《Linux Shell脚本之Atlassian confluence远程备份方法》的姊妹篇。 1.Gitlab本身提供了较好的备份方法,只是一个命令那么简单,并且它也支持远程备份(远程存储和云存储),例如它可以存储到aws的s3上。 " /data/opt/gitlab/bin/gitlab-rake gitlab:backup:create >$backup_path/$backup_path_time_uniq/$( /gitlab-org/gitlab-ce/blob/master/doc/raketasks/backup_restore.md GitLab.org / GitLab CI / tag:Gitlab备份脚本,Gitlab备份方法,如何备份Gitlab,远程备份Gitlab,远程备份脚本 --end-- 更多GitLab相关教程见以下内容
使用Gitlab一键安装包安装Gitlab非常简单, 同样的备份恢复与迁移也非常简单. _gitlab_backup.tar的压缩包, 这个压缩包就是Gitlab整个的完整部分, 其中开头的1393513186是备份创建的日期. 由于rpm安装的gitlab,默认位置为/var 系统磁盘没有那么大的空间,但是数据盘是有的,所以需要修改备份位置 vim /etc/gitlab/gitlab.rb #启用备份 gitlab_rails ['manage_backup_path'] = true #备份目录 gitlab_rails['backup_path'] = "/upload/gitlab/backups" #生成的备份文件权限 2点进行一次自动备份: 0 2 * * * /opt/gitlab/bin/gitlab-rake gitlab:backup:create 同样, Gitlab的从备份恢复也非常简单: 停止相关数据连接服务
关于备份的重要性,不言而喻,毕竟内部使用的 GitLab 项目和用户均为百数量级 0x01. 生成备份 参照官方文档:https://docs.gitlab.com/ee/administration/backup_restore/backup_gitlab.html 生成备份其实只要执行 gitlab-backup ;67250373' 备份的文件存储于默认备份目录 # gitlab_backup_cli['dir'] = '/var/opt/gitlab/backups' 0x02. Auto GitLab Backup 工具 众所周知,备份还是得异地备份。 中的那条官方备份的 cron 命令了 这样每天 5 时 5 分就会执行 auto-gitlab-backup.sh 脚本,先在本机生成备份档,然后 rsync 到远端备份服务器上 部署本工具之后,需要次日在远端备份服务器上看一下指定路径下有无备份档
1、Gitlab 创建备份 1.1 创建备份文件 首先我们得把老服务器上的Gitlab整体备份,使用Gitlab一键安装包安装Gitlab非常简单, 同样的备份恢复与迁移也非常简单. 使用一条命令即可创建完整的Gitlab备份。 details/52918803 关于如何将gitlab备份文件备份到远程备份服务器,参考链接: Git学习–>如何通过Shell脚本自动定时将Gitlab备份文件复制到远程服务器? 比如新服务器安装的是最新的9.4.3版本的Gitlab, 那么迁移之前, 最好将老服务器的Gitlab 升级为9.4.3再进行备份. 2.1.2 copy老服务器上面的备份文件到新服务器 第二步,如果你没修改过默认备份目录的话 、执行命令从备份文件中恢复Gitlab 第三步,执行命令从备份文件中恢复Gitlab gitlab-rake gitlab:backup:restore BACKUP=备份文件编号 例如我们的备份文件的编号是