关于gitlab代码的备份

要求:

  • 每天备份一次,备份至少7天的数据
  • 备份到远程服务器

开始

编写备份脚本

gitlab_back.sh

#! /bin/bash
# gitlab 机房备份路径
LocalBackDir=/var/opt/gitlab/backups # 远程备份服务器 gitlab备份文件存放路径
RemoteBackDir=/root/gitlabDataBackup # 远程备份服务器 登录账户
RemoteUser=root # 远程备份服务器 IP地址
RemoteIP=192.168.2.202 #当前系统日期
DATE=`date +"%Y-%m-%d"` #Log存放路径
LogFile=/var/gitlab/logs/$DATE.log #start gitlab backup
gitlab-rake gitlab:backup:create CRON=1 # 查找 本地备份目录下 时间为60分钟之内的,并且后缀为.tar的gitlab备份文件
BACKUPFILE_SEND_TO_REMOTE=$(find /var/opt/gitlab/backups -type f -mmin -60 -name '*.tar*') #新建日志文件
touch $LogFile #追加日志到日志文件
echo "Gitlab auto backup to remote server, start at $(date +"%Y-%m-%d %H:%M:%S")" >> $LogFile
echo "---------------------------------------------------------------------------" >> $LogFile # 输出日志,打印出每次scp的文件名
echo "---------------------The file to scp to remote server is: $BACKUPFILE_SEND_TO_REMOTE-------------------------------" >> $LogFile #备份到远程服务器
scp $BACKUPFILE_SEND_TO_REMOTE $RemoteUser@$RemoteIP:$RemoteBackDir #追加日志到日志文件
echo "---------------------------------------------------------------------------" >> $LogFile
  • gitlab代码保存位置(更具实际安装位置):/var/opt/gitlab/backups
  • 远程服务备份位置:/root/gitlabDataBackup
  • gitlab自带备份命令:gitlab-rake gitlab:backup:create CRON=1 执行后即在/var/opt/gitlab/backups下产生压缩包

服务器定时执行该备份脚本

0 2 * * * /bin/sh /opt/gitlab/gitlab_bak.sh >/dev/null  2>&1

提示:gitlab配置文件可修改gitlab备份的最新次数 /etc/gitlab/gitlab.rb

远程服务器定时清理备份文件,保存至少7天数据

脚本gitlab_clear.sh

#! /bin/bash
find /root/gitlabDataBackup -type f -mtime +7 -name '*.tar*' -delete ##删除7天前的数据

服务器定时脚本

0 2 * * * /bin/sh /opt/gitlab_clear.sh >/dev/null  2>&1

关于gitlab的密码重置

自建gitlab忘记密码,没配邮件服务,不能使用Forgot your password来重置。

可通过gitlab-rails工具包修改密码。具体操作方法如下:

进入服务器,如果采用docker安装的话

docker exec -it a12ae046733e /bin/bash

1,切换到git用户下

su – git

2,进入gitlab-rails console

3,根据邮箱查找用户ID,下图可见ID=14。如果知道ID,可忽略此步骤。

User.find_by(email:'123456@qq.com')

4,选定UID=14

user = User.where(id:4).first

5,设定密码为123456

user.password='123456'

![image-20211126114137857](images/image-20211126114137857.png

6,保存,保存后看到产生一条job通知。

user.save!

按照规则设置密码

user.password='12345678'

如果root密码错误登陆超过10次,会锁定该账号

解决方法:

  1. 1. *#登录gitlab安装所在系统,执行(进入gitlab的postgresql安装客户端):*
    2. gitlab-psql
    3. *#更新错误失败次数,继续登录*
    4. update users set failed_attempts = 0;

Gitlab的备份以及密码重置的更多相关文章

  1. wordpress忘记密码重置

    一直使用浏览器记录密码的方式登陆wordpress,直到有一天重装系统,而浏览器的记录又没有备份,结果怎么也想不起当初所设定的密码了…… -_-||| 遂google了一番,发现了直接修改数据库重设密 ...

  2. Harbor密码重置 密码修改 admin密码重置

    Harbor密码重置harbor现在是使用postgresql 数据库了.不再支持mysql,网上有N多重置Mysql密码的,可以略过了.我密码错了默认的Harbor12345 修改为: RedHat ...

  3. Gitlab忘记root用户密码解决办法

    一.Gitlab忘记root用户密码,重置用户密码和查看用户ID号方法  1.Gitlab查看用户id号的方法1)方法1:通过api接口查询接口查询地址:http://gitlab的url/api/v ...

  4. docker中的gitlab数据备份、迁移和升级

    前期准备 数据备份 记录gitlab运行命令: docker run -itd --name gitlab \ --hostname gitlab.suniot.cn \ -p 443:443 -p ...

  5. 修改sys密码与nbu备份脚本密码后,nbu备份报密码无效

    公司要求口令强化,在修改sys密码后nbu的.sh脚本connect备份归档的sys/passwd也随之修改修改后每个业务备份均失败, 每次备份到归档那里就结束报密码无效,疑惑备份脚本密码也同步修改了 ...

  6. MySQL忘记密码,或:root密码重置报错:mysqladmin: connect to server at 'localhost' failed的解决方案

    MySQL root密码重置报错:mysqladmin: connect to server at 'localhost' failed的解决方案   1  登陆失败,mysqladmin修改密码失败 ...

  7. mysql server安装及密码重置

    官网上能下载到的mysql安装分两种:msi和zip安装 msi安装比较简单,直接下一步. 主要说zip格式的安装: 1.解压. zip解压后的文件夹改名后(也可以不改名)放在喜欢的位置.例如我放在C ...

  8. Ubuntu下MySQL忘记root密码重置

    MySQL忘记root密码肿么办?-_-|||   这种情况虽然不是很常见,但是有时长时间没有登录系统,还真会忘记密码.这时候,如果您能以系统管理员权限登陆密码,那还是有救的.放大招,将其重置即可. ...

  9. sybase SA密码重置

    sa 密码忘记解决之道: su - sybase cd ASE/install vi RUN_etoh2 在文件的末尾加入 -psa \ 停止原数据库服务 由于密码遗忘,所以只能通过kill进程停止服 ...

  10. mysql配置的讲解 mysql的root密码重置 mysql的登录

    一,MySQL配置的讲解 port  默认mysql端口 socket  用于服务器端和客户端通信的套连接文字 skip-locking 取消文件系统的外部锁 key_buffer_size  索引缓 ...

随机推荐

  1. JVM深入学习-ClassLoader篇(一)

    初识JVM --- ClassLoader深入理解 ClassLoader.SPI机制 Class对象的理解 java在诞生之初,就有一次编译到处运行的名言,今天我们来探究一下,从java代码到cla ...

  2. windows中如何将python脚本以服务运行

    一.下载nssm工具 NSSM介绍 NSSM(the Non-Sucking Service Manager)是Windows环境下一款免安装的服务管理软件,它可以将应用封装成服务,使之像window ...

  3. 如何使用 Shebang

    什么是 Shebang? 简单来说,就是你在脚本开头看到的这个: #!/usr/bin/bash Shebang(也称为 hash-bang.pound-bang 或者 bang)是一个作为脚本文件中 ...

  4. MJUCTF—WP

    1.猫娘 点开发现有两个文件, 一个加密压缩包, 一个word文档 点开word发现是兽音加密, 点开在线网站进行解密 # 得到一段文本, 先进行分割 小小年内则伏勤, 阵阵寒风刺骨寒. 是处寂寞无人 ...

  5. Docker学习系列3:常用命令之容器命令

    本文是Docker学习系列教程中的第三篇.前几篇教程如下: 「图文教程」Windows11下安装Docker Desktop 「填坑」在windows系统下安装Docker Desktop后迁移镜像位 ...

  6. 【YashanDB知识库】汇聚库23.1环境发生coredump

    [标题]汇聚库23.1环境发生coredump [问题分类]数据库错误 [关键词]YashanDB, 汇聚库, coredump [问题描述]在23.1.1.200版本数据库环境创建dblink.视图 ...

  7. Openharmony 跑 CV 应用

    最近有个项目,老同学让帮忙验证一个在ARM 板上跑 OpenHarmony,然后再集成一个CV算法上去,写这个文章主要是整理一下思路.如果有思路不对的地方,也烦请指出. 1. 个人做纯软件比较多,所以 ...

  8. .NET 6.0 + WPF 使用 Prism 框架实现导航

    前言 Prism 一个开源的框架,专门用于开发可扩展.模块化和可测试的企业级 XAML 应用程序,适用于 WPF(Windows Presentation Foundation)和 Xamarin F ...

  9. 如何使用hugo搭建个人博客

    整体架构 在 github 托管两个仓库,仓库 1 保存博客内容源文件,仓库 2 保存 Hugo 生成的网站文件,博客内容仓库通过 git submodule 的方式在仓库 2 管理.使用 Obsid ...

  10. el-table

    el-table-column 渲染的顺序不对,第一列被渲染到最后 el-table-column 必须作为 el-table 或 el-table-column 的直接子元素使用,如果不是将会导致标 ...