Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Rand01ph/c42ab3d4695940653621f18366205c43 to your computer and use it in GitHub Desktop.
Save Rand01ph/c42ab3d4695940653621f18366205c43 to your computer and use it in GitHub Desktop.
script for back up from gitlab and setup
services:
gitlab:
image: 'gitlab/gitlab-ce:14.6.0-ce.0'
restart: always
hostname: 'localhost'
ports:
- "443:443"
- "80:80"
- "22:22"
environment:
GITLAB_OMNIBUS_CONFIG: |
external_url 'https://localhost'
volumes:
- '/srv/gitlab/config:/etc/gitlab'
- '/srv/gitlab/logs:/var/log/gitlab'
- '/srv/gitlab/data:/var/opt/gitlab'
- './.cert:/etc/ssl/certs/gitlab'
- './.backup/secret:/secret/gitlab/backups'
- './.backup/data:/var/opt/gitlab/backups'
#!/bin/bash
BACKUP_DIR_SECRET=/gitlab/.backup/secret
NOW=`date "+%Y_%m_%d_%H_%M_%S"`
BACKUP_DIR_DATA=/gitlab/.backup/data
echo "Backup started"
echo "==========================================================="
docker exec -t gitlab-gitlab-1 /bin/sh -c 'gitlab-ctl backup-etc && cd /etc/gitlab/config_backup && mv $(ls -t | head -n1) /secret/gitlab/backups/gitlab.secret.tar.gz'
ret=$?
if [ $ret -ne 0 ]; then
echo -e "Exit code is not 0"
else
mv ${BACKUP_DIR_SECRET}/gitlab.secret.tar.gz ${BACKUP_DIR_SECRET}/${NOW}.gitlab.secret.tar.gz
echo "Deleting databases older than 3 days"
find $BACKUP_DIR_SECRET/ -type f -name "*.tar.gz" -mtime +3 -delete
fi
sleep 5
docker exec -t gitlab-gitlab-1 /bin/sh -c 'gitlab-backup create STRATEGY=copy && cd /var/opt/gitlab/backups/ && mv $(ls -t | head -n1) /var/opt/gitlab/backups/gitlab.data.tar.gz'
ret=$?
if [ $ret -ne 0 ]; then
echo -e "Exit code is not 0"
else
mv ${BACKUP_DIR_DATA}/gitlab.data.tar.gz ${BACKUP_DIR_DATA}/${NOW}.gitlab.data.tar.gz
echo "Deleting databases older than 3 days"
find $BACKUP_DIR_DATA/ -type f -name "*.tar.gz" -mtime +3 -delete
fi
sleep 5
echo "==========================================================="
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment