Backup von MySQL und WordPress Webseite mit Shell-Script

Für Backups von WordPress-Webseiten gibt es einige Plugins, ich wollte aber ein einfaches Backup-Script für den SSH-Zugang.

Es gibt natürlich Plugins wie Duplicator, welche ein komplettes Backup der WordPress-Webseite erstellen, aber ich wollte ein einfaches Script für den Webspace. Gesichert werden sollen damit die MySQL-Datenbank, als auch das Verzeichnis. Damit funktioniert der Ansatz nicht nur mit WordPress, sondern auch mit anderen Systemen.

Backup der MySQL-Datenbank mit mysqldump

Für die Sicherung einer Datenbank können wir das Tool „mysqldump“ verwenden. Ein einfacher Befehl sieht beispielsweise so aus:

mysqldump -uUsername -pPassword DatabaseName | gzip -c > db-dump.sql.gz

Wir können hier den Benutzernamen, Passwort und den Datenbanknamen übergeben. Mittels „gzip“ packen wir alles in eine GZIP-Datei, was die Backupdatei deutlich kleiner werden lässt.

Backup der Dateien

Neben der Datenbankdaten, wollen wir natürlich auch die Dateien sichern. Hierfür können wir den „tar“ Befehl verwenden.

tar cvfz backup.tar.gz verzeichnis/

Dieser sichert das Verzeichnis in eine „tar.gz“ Datei.

Aktuelles Datum in Dateinamen aufnehmen

Bisher verwenden wir feste Dateinamen. Sinnvoll ist es aber, das aktuelle Datum mit in den Dateinamen aufzunehmen. Damit können dann verschiedene Backupstände gespeichert werden.

Das aktuelle Datum können wir mit folgendem Fragment in unser Script aufnehmen:

$(date '+%Y-%m-%d')

Unsere beiden Befehle sehen damit wie folgt aus:

mysqldump -uUsername -pPassword DatabaseName | gzip -c > db-dump_$(date '+%Y-%m-%d').sql.gz
tar cvfz backup_$(date '+%Y-%m-%d').tar.gz verzeichnis/

Das Ergebnis:

Kommentar hinterlassen

Deine E-Mail-Adresse wird nicht veröffentlicht.