add new GitLab Backup File

This commit is contained in:
Andreas Pfeiffer
2024-09-05 23:37:09 +02:00
parent 53ff4e579c
commit 25e61c2858
2 changed files with 108 additions and 1 deletions

107
backup_gitlab_to_nfs.sh Normal file
View File

@@ -0,0 +1,107 @@
#!/bin/bash
#
# Gitlab Backup Tool 1.0
#
# Programm von Netstack GmbH written by Andreas Pfeiffer
#
# Dieses Programm wurde für GitLab backups mehrerer vorgesehen!
#
################# CONFIG #####################
backupdir=/data/backup/gitdocker/gitlab # Verzeichniss wo die Backups abgelegt werden, es werden automatisch unterordner "mysql" und "files" erstellt.
date1=$(date +%d_%m_%Y) # Datumsformat welches an die Dateien angehangen wird
hostname=$(hostname -f) # Hostname
mailsubject="Backup - $hostname" # Mail Betreff
mailtext=/tmp/mailtext.txt # Mailtext zum Versand
email=sample@example.com # Empfaenger der Status Mails
date2=$(date +%A" "%d.%m.%Y) # Datum für E-Mail
nfsmount="SERVER_IP:/NFS-FOLDER" # NFS server + mount mount
nfsmountdir=/data/backup/ # Ordner fuer NFS-Share
################# CONFIG END #################
#Clear mailtext
echo " " > $mailtext;
#Aktuelles Datum
echo "#############################################################" >> $mailtext
echo "Backup Script from $hostname - "$date2 >> $mailtext
echo "#############################################################" >> $mailtext
echo "" >> $mailtext
# Check Backupdir
if test -d $nfsmountdir
then
echo "";
else
echo -n "Create Backupdirectory ... " >> $mailtext
mkdir -p $nfsmountdir
if test -d $nfsmountdir
then
echo -n "done" >> $mailtext
echo "\n" >> $mailtext
else
echo -n "Error - Cant create nfs directory" >> $mailtext
exit 1;
fi
fi
#mount NFS to backupdir
echo -n "mount nfs share $nfsmount ... " >> $mailtext;
mount $nfsmount $nfsmountdir
if [ $? == "0" ]
then
echo -n " done" >> $mailtext
echo "\n" >> $mailtext
else
echo -n " error" >> $mailtext
echo "\n" >> $mailtext
fi
# Check Backupdir
if test -d $backupdir
then
echo "";
else
echo -n "Create Backupdirectory ... " >> $mailtext
mkdir -p $backupdir
if test -d $backupdir
then
echo -n "done" >> $mailtext
echo "\n" >> $mailtext
else
echo -n "Error - Cant create backupdirectory" >> $mailtext
exit 1;
fi
fi
######################
# Start Files backup #
######################
echo -n "Gitlab Backup ..." >> $mailtext;
gitlab-backup create SKIP=artifacts,uploads,registry && cd /var/opt/gitlab/backups && mv $(ls -t | head -n1) $backupdir
if [ $? == "0" ]
then
echo -n " done" >> $mailtext
echo "\n" >> $mailtext
else
echo -n " error" >> $mailtext
fi
cp /etc/gitlab/gitlab.rb $backupdir/gitlab.rb_$date1
#umount NFS share
umount $nfsmountdir
# Mailversand
cat $mailtext | mail -s "$mailsubject" $email
exit 0;

View File

@@ -2,7 +2,7 @@
#
# Backup Tool 2.0
#
# Programm von Netstack GbR written by Andreas Pfeiffer
# Programm von Netstack GmbH written by Andreas Pfeiffer
#
# Dieses Programm wurde für Datenbank backups mehrerer Datenbanken vorgesehen!
# Ab Version 1.2 gibt es auch MYSQL-Checks