Zum Inhalt springen
Wiki Schomber
  • Home
Menü Schließen
  • Home

Tipps & Tricks

4
  • Amazon PDF-Rechnungen gesammelt herunterladen
  • 📝 Zeilen löschen in Notepad++
  • Prüfziffer berechnen (EAN-13)
  • QR Code mit Inkscape erstellen

SQL

1
  • Grundidee von LEFT JOIN

Entwicklung & Scripting

2
  • 📂 Massenumbenennung von Datumsordnern
  • 📅 Dynamisches Datum in Batch-Skripten

MS SQL

2
  • Alle Inhalte einer Tabelle in Microsoft SQL Server löschen
  • Bildspeicherung in Business Central (SQL-Ebene)

MySQL

2
  • 🐬 MySQL-Benutzer für Remotezugriff anlegen
  • MySQL Backup per Shell-Skript (Best Practice Anleitung)

Windows 11

1
  • Windows 11: Klassisches Kontextmenü wiederherstellen

Windows

1
  • Windows-Systemreparatur: SFC und DISM

Wordpress

1
  • 🔐 Passwort in WordPress über die Datenbank zurücksetzen

RuskDesk

1
  • Cursor-Darstellung bei Fernwartung (RuskDesk)

Thunderbird

1
  • 🔍 E-Mails nach Betreff durchsuchen
View Categories
  • Home
  • Docs
  • SQL
  • MySQL
  • MySQL Backup per Shell-Skript (Best Practice Anleitung)

MySQL Backup per Shell-Skript (Best Practice Anleitung)

1 min read

🎯 Ziel #

Automatisches und sicheres Backup aller MySQL-Datenbanken mittels Shell-Skript – ohne Klartext-Passwort im Skript.


1️⃣ MySQL Zugangsdaten sicher speichern #

1.1 Datei anlegen #

nano ~/.my.cnf

1.2 Zugangsdaten eintragen #

[client]
user=root
password=DEIN_PASSWORT

⚠️ Hinweise:

  • [client] darf nicht verändert werden
  • Keine Anführungszeichen verwenden
  • Datei im Home-Verzeichnis des Users speichern (z. B. /root/.my.cnf)

1.3 Rechte setzen (wichtig!) #

chmod 600 ~/.my.cnf

Überprüfung:

ls -l ~/.my.cnf

Erwartet:

-rw-------

1.4 Funktion testen #

mysql -e "SHOW DATABASES;"

✅ Keine Passwortabfrage = korrekt eingerichtet


2️⃣ Backup-Skript erstellen #

2.1 Skript anlegen #

nano /root/scripts/backup.sh

2.2 Inhalt einfügen #

#!/bin/bash

DATE=$(date +%F_%H-%M)
BACKUP_DIR="/mnt/Backup"
FILE="$BACKUP_DIR/${DATE}-alldb.sql.gz"

mkdir -p "$BACKUP_DIR"

if mysqldump --all-databases | gzip > "$FILE"; then
    echo "Backup erfolgreich: $FILE"
else
    echo "Backup fehlgeschlagen!"
    exit 1
fi

2.3 Skript ausführbar machen #

chmod 700 /root/scripts/backup.sh

3️⃣ Backup testen #

/root/scripts/backup.sh

Überprüfung:

ls /mnt/Backup

Beispiel:

2026-04-14_22-00-alldb.sql.gz

4️⃣ Automatisches Backup per Cron #

4.1 Crontab öffnen #

crontab -e

4.2 Job hinzufügen (täglich um 2 Uhr) #

0 2 * * * /root/scripts/backup.sh

4.3 Cron prüfen #

crontab -l

5️⃣ Alte Backups automatisch löschen #

(Optional, empfohlen)

find /mnt/Backup -name "*.sql.gz" -mtime +14 -delete

➡️ löscht Backups älter als 14 Tage

Integration ins Skript möglich:

find "$BACKUP_DIR" -name "*.sql.gz" -mtime +14 -delete

🔒 Sicherheitshinweise #

  • Niemals Passwörter im Skript speichern
  • .my.cnf muss Rechte 600 haben
  • Skript nur für root zugänglich machen (chmod 700)
  • Backup-Verzeichnis regelmäßig prüfen

🧯 Wiederherstellung (Restore) #

Einzelne Datei einspielen: #

gunzip < backup.sql.gz | mysql

oder:

zcat backup.sql.gz | mysql

✅ Zusammenfassung #

  • Sicherer Passwortspeicher über .my.cnf
  • Automatisches Backup via Shell-Skript
  • Komprimierung spart Speicherplatz
  • Cron sorgt für vollständige Automatisierung

📌 Optional Erweiterungen #

  • Backup auf NAS / Cloud kopieren
  • Verschlüsselung (gpg)
  • Logging einbauen
  • E-Mail bei Fehler

Updated on 14. April 2026
🐬 MySQL-Benutzer für Remotezugriff anlegen🐬 MySQL-Benutzer für Remotezugriff anlegen

Powered by BetterDocs

Inhaltsverzeichnis
  • 🎯 Ziel
  • 1️⃣ MySQL Zugangsdaten sicher speichern
    • 1.1 Datei anlegen
    • 1.2 Zugangsdaten eintragen
    • 1.3 Rechte setzen (wichtig!)
    • 1.4 Funktion testen
  • 2️⃣ Backup-Skript erstellen
    • 2.1 Skript anlegen
    • 2.2 Inhalt einfügen
    • 2.3 Skript ausführbar machen
  • 3️⃣ Backup testen
  • 4️⃣ Automatisches Backup per Cron
    • 4.1 Crontab öffnen
    • 4.2 Job hinzufügen (täglich um 2 Uhr)
    • 4.3 Cron prüfen
  • 5️⃣ Alte Backups automatisch löschen
  • 🔒 Sicherheitshinweise
  • 🧯 Wiederherstellung (Restore)
    • Einzelne Datei einspielen:
  • ✅ Zusammenfassung
  • 📌 Optional Erweiterungen