Mit rsync automatisches Backup auf ein NAS Speicher

Im folgenden erkläre ich wie man seine lokalen Ordner mit einem einfachen Script mittels rsync auf ein NAS sichern kann. Zudem wird das Script nur ausgeführt wenn ich mich im richten WLAN befinde.

Zuerst benötigt man dafür auf dem NAS so genannte “Module” für Rsync. Das sind freigegebene Ordner. Diese kann man sich mit ssh unter /etc/rsyncd.conf anschauen oder bei qnap unter Privilegieneinstellungen >> Freigabe-Ordner (shared folders). Das editieren der rsyncd.conf ist nicht zu empfehlen, da diese z.B. bei der Vergabe eines neuen Passworts für rsync automatisch zurückgesetzt wird bzw. durch Firmware updates auf den meisten NAS Speichern verändert werden könnte.

Bei Qnap könnt ihr Rsync unter der App “Sicherungsstrategien” oder “Hybrid Backup – Sync beta” aktivieren. Dort wird auch das Passwort vergeben. Alternativ kann auch ein SSH User verwendet werden, jedoch ist bei Qnap das nur mit dem Admin User möglich. Ansonsten muss bei Qnap ein anderer SSH Server installiert werden.

Aber nun zum eigentlichen rsync aufruf. Zum Testen könnt ihr folgendes verwenden: Continue reading “Mit rsync automatisches Backup auf ein NAS Speicher”

Plesk backup und restore auf unterschiedlichen Versionen

Da ich letzt einen Server von Suse 10.1 auf Suse 10.3 updaten musste, benötigte ich ein vollständiges Plesk backup das ich auch ohne Probleme wieder herstellen kann.

Die Möglichkeit bei jedem User in Plesk ein Backup zu machen, stößt beim späteren upload durch ein Timeout an seine Grenzen.

Um Plesk mit allen User, Domains, Webseiten, Datenbanken, Emails usw. zu sichern muss man folgendes aufrufen:

/pleskInstallationsVerzeichniss/bin/pleskbackup all filename

Um Plesk wiederherzustellen muss man erst unter Updater den Backupmanager installieren. Dann muss man folgendes ausführen:

/pleskInstallationsVerzeichniss/bin/pleskrestore –create-map filename -map mapfilename

/pleskInstallationsVerzeichniss/bin/pleskrestore –restore filename -level all -map mapfilename

Bei mir gab es ein Problem mit einer xml datei, sollte dies vorkommen, dann muss die xml Datei editiert werden und die im Fehler genannten Attribute hinzugefügt werden.

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
  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.