mirror of
https://github.com/dunwu/linux-tutorial.git
synced 2024-04-15 19:55:24 +08:00
47 lines
1.5 KiB
Bash
47 lines
1.5 KiB
Bash
#!/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}
|