initial
This commit is contained in:
parent
59610c7295
commit
99ffa597cd
55
mysql-backup-1.0.sh
Normal file
55
mysql-backup-1.0.sh
Normal file
@ -0,0 +1,55 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
##########################################################################
|
||||||
|
# .--.
|
||||||
|
# |o_o |
|
||||||
|
# |:_/ |
|
||||||
|
# // \ \
|
||||||
|
# (| | )
|
||||||
|
# /'\_ _/`\
|
||||||
|
# \___)=(___/
|
||||||
|
#
|
||||||
|
# (c) Patrick Asmus
|
||||||
|
# support@media-techport.de
|
||||||
|
# https://www.media-techport.de
|
||||||
|
##########################################################################
|
||||||
|
# Letzte Anpassung: 24.05.2023
|
||||||
|
# Version 1.0
|
||||||
|
##########################################################################
|
||||||
|
# mysql-backup-1.0.sh
|
||||||
|
##########################################################################
|
||||||
|
# MySQL-Server Informationen
|
||||||
|
DB_HOST="mysql-host" # Hostname oder IP-Adresse des MySQL-Servers
|
||||||
|
DB_USER="mysqlbackup" # MySQL-Benutzername
|
||||||
|
DB_PASS="passwd" # MySQL-Passwort
|
||||||
|
DB_NAME="db" # Name der zu sichernden Datenbank
|
||||||
|
|
||||||
|
# Backup-Verzeichnis
|
||||||
|
BACKUP_DIR="/home/backup/mysql"
|
||||||
|
MAX_BACKUPS=5
|
||||||
|
|
||||||
|
# Erstelle das Backup-Verzeichnis, wenn es nicht vorhanden ist
|
||||||
|
mkdir -p "$BACKUP_DIR"
|
||||||
|
|
||||||
|
# Erstelle den Dateinamen für das aktuelle Backup
|
||||||
|
CURRENT_DATE=$(date +"%Y-%m-%d_%H-%M-%S")
|
||||||
|
BACKUP_FILE="$BACKUP_DIR/$DB_NAME-$CURRENT_DATE.sql"
|
||||||
|
|
||||||
|
# Erstelle den MySQL-Dump
|
||||||
|
mysqldump --column-statistics=0 -h "$DB_HOST" -u "$DB_USER" -p"$DB_PASS" "$DB_NAME" > "$BACKUP_FILE"
|
||||||
|
|
||||||
|
# Überprüfe, ob das Backup erfolgreich erstellt wurde
|
||||||
|
if [ $? -eq 0 ]; then
|
||||||
|
echo "Das Backup wurde erfolgreich erstellt: $BACKUP_FILE"
|
||||||
|
else
|
||||||
|
echo "Fehler beim Erstellen des Backups."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Lösche ältere Backups, wenn die Anzahl der Backups die Maximalanzahl überschreitet
|
||||||
|
BACKUP_COUNT=$(ls -1 "$BACKUP_DIR/$DB_NAME-"*.sql | wc -l)
|
||||||
|
if [ "$BACKUP_COUNT" -gt "$MAX_BACKUPS" ]; then
|
||||||
|
DELETE_COUNT=$((BACKUP_COUNT - MAX_BACKUPS))
|
||||||
|
OLDEST_BACKUPS=$(ls -1t "$BACKUP_DIR/$DB_NAME-"*.sql | tail -n $DELETE_COUNT)
|
||||||
|
echo "Lösche ältere Backups: $OLDEST_BACKUPS"
|
||||||
|
rm $OLDEST_BACKUPS
|
||||||
|
fi
|
Loading…
Reference in New Issue
Block a user