WordPress Backup Restore

Aus CyberWiki
Zur Navigation springen Zur Suche springen

Eine WordPress-Installation kann durch Abzug der WordPress-Datenbank und kopieren des WordPress-Verzeichnises in /var/www/html gesichert bzw. auf einen anderen Server übertragen werden.

Die Vorgehensweise ähnelt der hier beschriebenen: MediaWiki von Diskstation auf Raspberry Pi kopieren.
Das Ergebnis sind zwei Dateien.

Werden die Daten übersiedelt, muss am neuen Server zusätzlich mit phpMyAdmin in der WordPress-Datenbank die Tabelle wp_options geändert werden. Die Einträge für "siteurl" und "home" müssen angepasst werden, da sonst WordPress teilweise auf die alte Installation zugreift. Wie nachfolgend dargestellt muss die neue Domäne eingetragen werden.

WordpressDB.png

Die Import- und Exportvorgänge können natürlich mit Skripten automatisiert werden. Der Start erfolgt in der Shell mit

$ ./wpexport.sh
$ ./wpimport.sh

wpexport.sh

#!/bin/bash
# Files werden in den Ordner backfiles kopiert -------
read -s -p "Datenbank-Password: " dbpassword
# echo $dbpassword
# Mit Backup beginnen ----------------------------
echo ""
echo "Backup wordpress DB"
# MySQL Datenbankserver
sudo mysqldump -uroot -p$dbpassword wordpress > /home/piwork/wpbackup/wordpress_dmp.sql
echo "Backup Ordner wordpress in /var/www/html"
sudo tar -czf /home/piwork/wpbackup/wordpress.tgz /var/www/html/wordpress
echo "Backup beendet!"

wpimport.sh

#!/bin/bash
# Ordner wpbackup mit Dateien wordpress.tgz und wordpress_dmp.sql muss existieren
echo "Beginn Restore"
if [ -f /home/piwork/wpbackup/wordpress_dmp.sql ] \
  && [ -f /home/piwork/wpbackup/wordpress.tgz ]; then
	echo "Importfiles existieren"
	read -s -p "Datenbank-Password: " dbpassword
	# echo $dbpassword
	echo ""
	# Mit Import beginnen ---------------------
	# Datenbanken loeschen
	echo "DB wordpress loeschen"
	mysqladmin -uroot -p$dbpassword -f drop wordpress
	echo "Leere DB wordpress erstellen"
	mysql -uroot -p$dbpassword -e "create database wordpress"
	echo "Import DB wordpress"
	mysql -uroot -p$dbpassword wordpress < /home/piwork/wpbackup/wordpress_dmp.sql
	# Ordner wordpress entpacken und kopieren
	echo "wordpress: Ordner loeschen, entpacken und neu kopieren"
	tar -xzf /home/piwork/wpbackup/wordpress.tgz -C /home/piwork/wpbackup/
	sudo rm -r /var/www/html/wordpress
	sudo cp -R /home/piwork/wpbackup/var/www/html/wordpress /var/www/html/
	sudo chown -R www-data:www-data /var/www/html/wordpress
	rm -R /home/piwork/wpbackup/var
	echo "Import beendet!"
else
	echo "Mindestens eine Datei fehlt im Ordner wpbackup"
	echo "wordpress.tgz, wordpress_dmp.sql"
fi
echo "Script beendet"