Initial
This commit is contained in:
parent
b18a7736a9
commit
9c8e60987d
16
README.md
16
README.md
@ -1,3 +1,15 @@
|
||||
# backupscript-collection
|
||||
# Mein Repository für Backup-Skripte
|
||||
|
||||
Eine kleine Sammlung an verschiedenen Backup-Scripten
|
||||
Dieses Repository dient als Plattform für eine Sammlung von Backup-Skripten. Hier werden Backup-Skripte gespeichert, versioniert und bearbeitet.
|
||||
|
||||
## Beschreibung
|
||||
|
||||
Dieses Repository enthält eine Sammlung von Backup-Skripten, die für verschiedene Zwecke und Systeme entwickelt wurden. Es bietet eine zentrale Plattform zur Verwaltung dieser Skripte.
|
||||
|
||||
## Verwendung
|
||||
|
||||
1. **Klonen des Repositorys:** Um die Backup-Skripte herunterzuladen und zu verwenden, führe den folgenden Befehl aus:
|
||||
|
||||
```bash
|
||||
git clone https://git.media-techport.de/scriptos/backup-script-collection.git
|
||||
```
|
49
mariadb-backup.v1.sh
Normal file
49
mariadb-backup.v1.sh
Normal file
@ -0,0 +1,49 @@
|
||||
#!/bin/bash
|
||||
# Script Name: MARIADB_BACKUP.V1.SH
|
||||
# Beschreibung: Macht ein Backup aller MariaDB-Datenbanken in ein Verzeichnis der Wahl
|
||||
# Aufruf: ./bash MARIADB_BACKUP.V1.SH
|
||||
# Autor: Patrick Asmus
|
||||
# Web: https://www.media-techport.de
|
||||
# Git-Reposit.: https://git.media-techport.de/scriptos/backup-script-collection
|
||||
# Version: 2.0
|
||||
# Datum: 03.09.2023
|
||||
# Modifikation: Neuerstellung
|
||||
#####################################################
|
||||
|
||||
# Variablen
|
||||
SCRIPT_NAME="mariadb-backup.v1.sh"
|
||||
BACKUP_DIR="/var/backup"
|
||||
LOGDIR="/var/log/script-logs"
|
||||
EMAIL_ADDRESS="system@media-techport.de"
|
||||
HOSTNAME=$(hostname)
|
||||
DB_USER="mysqlbackup"
|
||||
DB_PASSWORD="PASSWORD"
|
||||
BACKUP_RETENTION_DAYS=20
|
||||
|
||||
# Erstelle Log-Verzeichnis
|
||||
mkdir -p $LOGDIR
|
||||
|
||||
# Sichern jeder Datenbank in separater SQL-Datei
|
||||
DATABASES=$(mysql -u "$DB_USER" -p"$DB_PASSWORD" -e "SHOW DATABASES;" | grep -Ev "(Database|information_schema|performance_schema|mysql|sys)")
|
||||
ERROR_OCCURRED=0
|
||||
|
||||
for DB in $DATABASES; do
|
||||
DATE=$(date +%F)
|
||||
BACKUP_FILE="$BACKUP_DIR/$DB-$DATE.sql"
|
||||
echo "Sichere $DB-Datenbank in $BACKUP_FILE" | tee -a "$LOGDIR/$SCRIPT_NAME.log"
|
||||
mysqldump -u "$DB_USER" -p"$DB_PASSWORD" "$DB" > "$BACKUP_FILE"
|
||||
if [ $? -ne 0 ]; then
|
||||
ERROR_OCCURRED=1
|
||||
echo "Fehler beim Sichern der $DB-Datenbank" | tee -a "$LOGDIR/$SCRIPT_NAME.log"
|
||||
fi
|
||||
done
|
||||
|
||||
# Loeschen von Backups, die aelter als X Tage sind
|
||||
find "$BACKUP_DIR" -type f -name "*.sql" -mtime +$BACKUP_RETENTION_DAYS -delete
|
||||
|
||||
# Ueberpruefe, ob das Backup erfolgreich war oder Probleme aufgetreten sind
|
||||
if [ $ERROR_OCCURRED -eq 1 ]; then
|
||||
echo "Backup konnte nicht ausgefuehrt werden." | tee -a "$LOGDIR/$SCRIPT_NAME.log"
|
||||
mail -s "Fehler beim Ausführen des MariaDB-Backups auf $HOSTNAME" "$EMAIL_ADDRESS" < "$LOGDIR/$SCRIPT_NAME.log"
|
||||
fi
|
||||
exit 0
|
Loading…
Reference in New Issue
Block a user