da schön öfters hier die Frage aufkam wie man Datenbanken sichern kann, hier mein Skript zur Sicherung aller Datenbanken.
Es benötigt lediglich die Zugangsdaten von mysqladmin und schon können alle Datenbanken als ZIP Datei gesichert werden.
Die Tabellen werden separat gesichert und die gesamte Datenbank wird in eine ZIP Datei gepackt.
So kann man immer ganz gezielt das wiederherstellen was verloren gegangen sein mag.
Man könnte versuchen das Skript über den Browser aufzurufen.
Dies hat aber zwei entscheidende Nachteile.
1. Alle Backups wären dann, bei Kenntnis der URL, offen zugänglich.
2. Die Skriptlaufzeit könnte nicht reichen und ggf. beschädigte Tabellen zurücklassen (nur mit der Option autooptimize).
Daher einfach einen Cronjob anlegen.
Typ PHP-Skript und PHP Version 7.x. 8 sollte auch funktionieren.
Folgende Parameter können angepasst werden.
Code: Select all
// Mysql Zugangsdaten
$MYSQL_root_username = "mysqladmin";
$MYSQL_root_password = "PASSWORT";
// Diese Datenbanken werden NICHT gesichert
// Die einzelnen Datenbanknamen werden mit Komma getrennt
$MYSQL_skip_database = "information_schema,mysql,performance_schema,phpmyadmin,roundcube,rainloop";
// Die Inhalte dieser Tabellen werden NICHT gesichert.
// Die Struktur wird gesichert.
// Die einzelnen Tabellennamen werden mit Komma getrennt.
// Der Tabellenname muss nicht vollständig sein. Es reicht ein Teilstring.
// $MYSQL_skip_tables = "index_,cache";
$MYSQL_skip_tables = "cache";
// AUTOOPTIMIZE
// Tabellenüberhänge können automatisch korrigiert werden.
// Dies kann die Geschwindigkeit von Tabellenabfragen signifikant beschleunigen.
// Der Schwellwert ist in Bytes angegeben. Erst bei Überschreitung dieser Größe wird optimiert.
// Ein wenig Überhang ist aber ganz normal.
// 0 = AUS
// 1 = AN
$autooptimize = 0;
$optimize_schwellwert = 1024;
// Datum und Uhrzeit dem Dateipfad hinzufügen
// Somit kann man ein Archiv der Backups anlegen.
// Vorsicht! Damit kann man sich auch ganz schnell die Festplatte vollballern.
// 0 = AUS
// 1 = AN
$datum_in_pfad = 0;
Die Datei muss natürlich in ".php" umbenannt werden .