Backup-Shell Script für Linux Server Teil 1

Mein Anbieter macht alle 24h eine Sicherung, leider wird dann das ganze System zurück gestellt. Was nun wenn man nur eine Sicherung der Datenbank haben möchte oder bestimmter Ordner.

Man kann sich entweder jeden tag einloggen und die Daten kopieren oder ein Script dafür schreiben.

Ich habe ein solches Script geschrieben.

Wichtig ist ein Ordner der zum Beispiel beim Backup des Anbieters nicht überschrieben wird, oder bei Neuinstallationen.

  1. In diesen Ordner wechsel und folgendes eingeben
  2. mkdir backup
    cd backup

  3. Dann erstellen wir eine Datei und öffnen sie gleich
  4. vim sicherung.sh

  5. Dann drücken wir “i” und geben folgendes ein
  6. #!/bin/sh

  7. Danach müssen wir den letzten Ordner am Tag löschen und neu erstellen. Ich geh in diesem Beispiel von 6 Backups pro Tag aus. “rm” bedeutet löschen und “mkdir” bedeutet Ordner erstellen. Das “-R” bedeutet “rekursiv” und wird benötigt um Dateien im Ordner mit zu löschen sowie Unterordner. Bei (Pfad)
    den Pfad vom Wurzelverzeichnis zum Ordner Backup eintagen.
  8. rm -R /(Pfad)/backup/today/6
    mkdir /(Pfad)/backup/today/6

  9. Nun verschieben wir die Daten um eins nachhinten
  10. mv /(Pfad)/backup/today/5/* /(Pfad)/backup/today/6
    mv /(Pfad)/backup/today/4/* /(Pfad)/backup/today/5
    mv /(Pfad)/backup/today/3/* /(Pfad)/backup/today/4
    mv /(Pfad)/backup/today/2/* /(Pfad)/backup/today/3
    mv /(Pfad)/backup/today/1/* /(Pfad)/backup/today/2

  11. Nun das Script in den Ordner wechseln lassen und das MySQL Dump ausführen. Damit wir die Sicherung später zu ordnen können schreiben wir noch ein Log dazu.Welches das Datum und die verbrauchte Zeit speichert.
    (pw) bedeutet hier das Passwort eintragen, (user) den db user dazu.

  12. cd /
    (Pfad)/backup/today/1
    echo "Start Dump" >> log.txt
    times >> log.txt
    mysqldump -u (user) -p
    (pw) --all-databases > sql_sicherung_5.txt
    echo "Dump Done" >> log.txt
    times >> log.txt
    echo "Datum" >> log.txt
    date >> /(Pfad)/backup/today/1/log.txt

  13. So jetzt noch “ESC” und “:wq” eingeben und die Datei ist gespeichert und du befindest dich wieder in der Konsole.
Tagged ,

Leave a Reply

Your email address will not be published. Required fields are marked *