378 发表于 2018-9-19 08:56:03

gitlab数据备份

  为了防止gitlab应用出现问题或gitlab服务器宕机,我们需要给gitlab做好数据的备份,以防止代码或用户账号的丢失。
  虽然我个人认为这种方式不是最好的,但是能够保证数据的90%可以被恢复。
  本人使用crontab 和shell脚本来实现数据的备份。
  gitlab自动备份工具gitlab-rake,通过此工具可以对gitlab数据备份:
  gitlab-rake gitlab:backup:create
  默认的备份路径可以通过:

  贴出我的shell脚本
  #!/bin/bash
  log_file=backup.log
  work_dir=/var/opt/gitlab/backups
  [ -f ${work_dir}/${log_file} ] || touch ${work_dir}/${log_file}
  #start full backup source file
  gitlab-rake gitlab:backup:create > ${work_dir}/${log_file}
  if [ $? -eq 0 ];then
  echo "gitlab source file backup successfully!"
  else
  echo "gitlab source file backup failed!"
  exit 2
  fi
  #每次备份都会有打包成tar文件,为了不使用过多的磁盘空间,可以把上一次备份的tar包删除
  find ${work_dir} -type f -mtime +1 -name "*.tar" |xargs rm -rf
  #将备份好的tar包通过scp命令转送到其他机器上,异地备份.
  file=`ls /var/opt/gitlab/backups/*.tar`
  scp ${file}root@ip:/backup    //注意scp 需要做免密码登录
  设置crontab:每天下午10点开始备份数据
  00 22 * * * sh backup_gitlab.sh >> /root/gitlab_backup.log

页: [1]
查看完整版本: gitlab数据备份