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