linux-tutorial/codes/linux/soft/gitlab/gitlab-backup.sh
2020-04-26 10:34:55 +08:00

47 lines
1.5 KiB
Bash
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/usr/bin/env bash
# -----------------------------------------------------------------------------------------------------
# Gitlab 操作脚本
# 支持操作:
# 备份 Gitlab
# 恢复 Gitlab
# @author: Zhang Peng
# -----------------------------------------------------------------------------------------------------
# ------------------------------------------------------------------------------ env
# Gilab 操作的环境变量,使用方法:
# 可以在执行本脚本之前export 以下环境变量,否则将按照默认配置执行
# Gitlab 备份文件最大数量(默认为 7 天)
export ENV_BACKUP_MAX_NUM=7
# 备份路径
export ENV_GITLAB_BACKUP_DIR="/var/opt/gitlab/backups"
# 备份日志路径
export ENV_LOG_PATH="${ENV_GITLAB_BACKUP_DIR}/gitlab-backup.log"
ENV_REMOTE_USER=root
ENV_REMOTE_HOST=172.22.6.42
# ------------------------------------------------------------------------------ load libs
GIT_SCRIPTS_DIR=$(cd `dirname $0`; pwd)
if [[ ! -x ${GIT_SCRIPTS_DIR}/gitlab.sh ]]; then
echo "${GIT_SCRIPTS_DIR}/gitlab.sh not exists!"
exit 1
fi
source ${GIT_SCRIPTS_DIR}/gitlab.sh
# ------------------------------------------------------------------------------ functions
backupGitlab
if [[ "$?" != ${ENV_SUCCEED} ]]; then
printError "退出"
exit ${ENV_FAILED}
fi
#将备份文件传输到gitlab备份服务器
BACKUP_FILE=$(find "${ENV_GITLAB_BACKUP_DIR}" -type f -name "*gitlab_backup.tar" | xargs ls -t | head -1)
scp ${BACKUP_FILE} ${ENV_REMOTE_USER}@${ENV_REMOTE_HOST}:${ENV_GITLAB_BACKUP_DIR}