关于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. 平衡搜索树-AVL树 图文详解 (万字长文)

    目录 AVL树 AVL树的概念 AVL树节点的定义: AVL树的插入 基本情况分析 平衡因子对应的操作 旋转操作 分析需要旋转的情况 结论 4种旋转操方法与特征 6种双旋平衡因子特征 代码实现 四种旋 ...

  2. Catlan--卡特兰数--组合数学

    卡特兰数 \(Catlan\) ·赘述 其实发现卡特兰数和之前不同的是,前面的是给你公式,让你去求具体的例子,然而卡特兰数这里是给你大量例子来给你证明和解释什么是卡特兰数. ·定义 对于卡特兰数来说, ...

  3. 海康威视测速&闪速测速

    海康威视64g 闪速128g

  4. Gmail 别名

    Gmail 有一个很少人知道但是非常实用的功能,那就是别名.Gmail 允许用户通过在基本邮箱地址中添加特定符号和文本来创建多个别名.这些别名都指向同一个 Gmail 账户,方便用户进行邮件管理.过滤 ...

  5. NSmartProxy:一款.NET开源、跨平台的内网穿透工具

    前言 今天大姚给大家分享一款.NET开源.免费(MIT License).跨平台的内网穿透工具,采用.NET Core的全异步模式打造:NSmartProxy. 内网穿透工具介绍 内网穿透工具是一种能 ...

  6. 【YashanDB知识库】设置归档日志上限,但归档日志没自动清理,导致磁盘空间满

    问题现象 客户使用一主一备做性能压测,主备机上设置了归档日志清理上下限: ARCH_CLEAN_LOWER_THRESHOLD=12G ARCH_CLEAN_UPPER_THRESHOLD=16G 但 ...

  7. 模N取余法实现大整数进制转换 ——C语言版(2-16进制均可)

    思路如标题所说采用模N取余法,难点是这个除法过程如何实现. 个人推荐先到这篇博客学习一下,大佬的思路就是不一样:大数除法--超详细讲解 我所做的就是在上面博文代码的基础上增加了循环,用一个字符数组逆序 ...

  8. 宝塔安装onlyoffice

    1. 拉取镜像 docker pull onlyoffice/documentserver 2. 构建容器 进入宝塔管理面板->docker->镜像,可以看到镜像已被安装成功 配置容器参数 ...

  9. storybook 7.6

    https://storybook.js.org/tutorials/intro-to-storybook/vue/zh-CN/get-started/ 开始吧 注释:degit 从 github 拉 ...

  10. Spring —— 初识

    简介    Spring 家族    Spring Framework 系统架构