|

Themen:

Backup

Nextcloud ist super. Es funktioniert so gut für mich und ich speichere immer mehr Daten und Services dort. Und es ist toll der Herr und Meister über seine eigenen Daten zu sein. Aber ich trage jetzt halt auch die alleinige Verantwortung für meine Daten. Ich muss also ganz alleine dafür sorgen, das ich keine Daten verliere.

Aber das hab ich für mich ganz einfach gelöst.

Ich hab eine PHP Datei erstellt und diese enthält folgenden Quelltext:

<?php
system('mysqldump -h mysql-server -u mysqlBenutzername -pmysqlpasswort MySQL-Datenbankname > /home/www/public_html/backup/totalkryptischerdateiname.sql');
system('tar -cvf /home/www/public_html/backup/totalkryptischerdateiname.tar.gz /home/www/public_html/nextclouddataverzeichnis');
system('tar -cvf /home/www/public_html/totalkryptischerdateiname.tar.gz /home/www/public_html/backup/');
?>

Mit system() kann ich Systemnahe Befehle per PHP ausführen. Der erste Befehl den ich da ausführe ist der Dump(also der Export oder die Sicherung) der kompletten Datenbank. Im zweiten Befehl sichere ich den Ordner in dem Nextcloud Dateien etc speichert.  Und im dritten packe ich beide Sicherungen in eine Datei zusammen.

Im nächsten Schritt hab ich dann auf meinem Raspi einen Cronjob eingerichtet der per wget -q diese PHP Datei aufruft und einen zweiten Cronjob der dann wieder das Ergebniss auf den Raspi herunterlädt. Jetzt muss ich nur von Zeit zu Zeit die alten Versionen auf dem Raspi wieder löschen. Hm … auch das ließe sich sicher per Cronjob erledigen.

Und weil das ganze so gut klappt, habe ich das auch gleich für andere HPs und Datenbanken analog eingerichtet.

Übrigens hab ich alle Dateien die auf dem Server liegen mit dicken Hashwerten im Dateinamen versehen. Denn eine backup.php die aus Zufall von nem Bot xxxx mal aufgerufen würde oder vll sogar aus Absicht von einem Hacker … das wäre sicher keine so gute Sache.