WordPress Bilder aus dem uploads-Folder sichern

Mit dem WordPress Export-Plugin wird eine XML-Datei erstellt, welche die Medien zwar nicht speichert, aber die Verweise darauf aufweist. Beim Import werden diese Medien von den darin vermerkten Adressen wieder geholt und eingespielt. Wenn man nun den gesamten Blog speichern will, muss man auch diese Dateien mitnehmen.

Ein grosses Problem sind dabei die vielen Thumbnails, welche WordPress zu jedem Bild geniert. Das sind jene Formate, welche unter Settings/Media eingetragen sind und zusätzlich die Formate die Designs/Themen verlangen. Diese verdoppeln oder verdreifachen die Dateimenge, verzehnfachen aber auch die Anzahl der Dateien. Durch werden die Medienfolder von Blogs mit vielen Bildern extrem gross und de facto nicht per FTP speicherbar. Diese Thumbnails sollte man also nicht mitspeichern. Wir arbeiten also nur mit den Originalbildern

Die vorgestellte Methode arbeitet ohne Plugins, verlangt aber Zugriff per Console auf den Unix-Server. Diese Methode setzt voraus, dass kein Bild mit dem Suchmuster vom Typ -123×456.jpg endet. Dieses Muster kennzeichnet die von WordPress generierten Thumbs.

  • Wechsel in den uploads-Ordner.
  • Kopieren des uploads-Ordners. Je nach Grösse des Inhalts kann dieser Prozess auch auf schnellen Servern mehrere Minuten dauern.
  • Wechsel in den kopierten Ordner uploadsCopy.
  • Löschen von anderen unnötigen Ordnern, in diesem Fall Sicherheitskopien eines Wasserzeichen-Plugins.
  • Anweisung zum Finden und Löschen aller Dateien, welche das Muster der WordPress-Thumbnails haben. Dabei werden reguläre Ausdrücke (Regex) verwendet. Achtung: damit werden unter Umständen auch verkleinerte Bilder gelöscht, welche Designs/Themen einsetzen: zum Beispiel das Header-Logo oder das Favicon.
$> cd [...]/wp-content/
$> cp -R uploads uploadsCopy
$> cd uploadsCopy
$> rm -R iw-backup
$> find . -regextype sed -regex ".*/*-[0-9]*x[0-9]*.jpg$" | xargs rm -f

Das Löschen geht auch bei grossen Datenmengen recht flott. Die Datenmenge wird dabei mindestens halbiert. Anschliessend kann man den Ordner uploadsCopy per SFTP herunterladen.

Diese Daten kann man nun sichern und/oder regelmässig weitere nach Datum generierte Unterordner hinzufügen. Parallel dazu braucht man natürlich auch die XML-Datei des WordPress-Exports (diese Datei kann man gut zippen (.gz), so spart man ordentlich Platz. Das zippen der Bilder bringt normalerweise keinen Platzgewinn weil JPG-Datein eine gute Kompressionsrate aufweisen

Braucht man die Daten für ein Wiederherstellen, so lädt man sie wieder auf den Server, muss aber darauf achten, dass der Pfad zu den Medien, wie er in der XML-Datei angegeben ist, auch erreichbar ist. Ggf. kann man die XML-Datei zuvor im Texteditor anpassen und diese URLs ändern.

SFTP Dateitransfer

No Comments

Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.