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 Backup 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
    mkdir backup cd backup4. Dann erstellen wir eine Datei und öffnen sie gleich
    vim sicherung.sh6. Dann drücken wir “i” und geben folgendes ein
    #!/bin/sh8. 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.
    rm -R /(Pfad)/backup/today/6 mkdir /(Pfad)/backup/today/611. Nun verschieben wir die Daten um eins nachhinten
    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/217. 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.
    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.txt19. So jetzt noch “ESC” und “:wq” eingeben und die Datei ist gespeichert und du befindest dich wieder in der Konsole.