#!/bin/bash # Variables FECHA_HOY=$(date '+%Y%m%d') PATH_GITLAB_BACKUPS=/backups PATH_BACKUP=$PATH_GITLAB_BACKUPS/$FECHA_HOY FILE_LOG=$PATH_BACKUP/dump_gitlab.log DOCKER_CONTAINER="git-test" # Se elimina la copia que existia if [ -f $FILE_LOG ] then rm -rf $PATH_BACKUP else mkdir $PATH_BACKUP fi cd $PATH_BACKUP # Realiza la copia de seguridad y guarda un registro echo "Realizando copia de seguridad en ${PATH_BACKUP} ..." echo "[1] Creando backup del sistema..." docker exec -it $DOCKER_CONTAINER gitlab-rake gitlab:backup:create > $FILE_LOG # Extrae la copia del contenedor y los ficheros de configuracion if [ -f $FILE_LOG ] then FILE_TAR_ARCHIVE=$(grep "gitlab_backup.tar" $FILE_LOG | awk '{print $4}') docker cp ${DOCKER_CONTAINER}:/var/opt/gitlab/backups/$FILE_TAR_ARCHIVE $PATH_BACKUP/$FILE_TAR_ARCHIVE echo "Se ha creado la copia del sistema en ${PATH_BACKUP}/${FILE_TAR_ARCHIVE}" echo "[2] Realizando copia de la configuracion y secretos" docker cp ${DOCKER_CONTAINER}:/etc/gitlab/gitlab.rb $PATH_BACKUP/gitlab.rb docker cp ${DOCKER_CONTAINER}:/etc/gitlab/gitlab-secrets.json $PATH_BACKUP/gitlab-secrets.json echo "Copia realizada con exito!" else echo 'No se ha podido realizar la copia de seguridad' fi
jueves, septiembre 26, 2019
Script backup de GitLab en un contenedor Docker
Aquí comparto un pequeño shell script que hice para realizar una copia de seguridad y ficheros de configuración de la aplicación de GitLab en un contenedor Docker.
0 comentario(s)
Publicar un comentario