Deprecated: Function set_magic_quotes_runtime() is deprecated in /home/www/blog/wp-settings.php on line 18

Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /home/www/blog/wp-settings.php:18) in /home/www/blog/wp-content/plugins/wordpress-automatic-upgrade/wordpress-automatic-upgrade.php on line 121

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /home/www/blog/wp-settings.php:18) in /home/www/blog/wp-content/plugins/wordpress-automatic-upgrade/wordpress-automatic-upgrade.php on line 121
problemlöser, der » Blog Archive » Webseiten Dasi automatisieren
« Blogrückblick 2006
» Klassik fürs Wochenende (5)

mac, produktiv sein

Webseiten Dasi automatisieren

30.12.06 | 2 Kommentare

automator.pngIch habe etwas Webspace und ein paar Datenbanken bei meinem freundlichen Provider gemietet. Alle dort liegenden Daten würde ich gerne regelmäßig und automatisch mit meinem Mac sichern - ein Backup-Tool für meinen Online-Mist wäre toll.

Gibt es aber nicht. Beziehungsweise habe ich keines finden können.

Hier meine Heimwerker-Lösung….

Ach, bevor ich anfange: Ich habe keinen Zugang zu einer Shell auf dem Server, deswegen fielen elegante Lösungen à la ssh aus.

Für die Erstellung eines Arbeitsablaufs kann man, so Apple, den Automator oder Applescript nehmen. Da ich für das Lernen von Applescript zu faul war, entschied ich mich, dem Automator eine Chance zu geben.

Für die Sicherung des Webspaces brauchte ich ein FTP-Programm, das mit dem Automator zusammenarbeitet. Meine Wahl fiel dabei auf Transmit mit seiner praktischen Funktion “Dateien synchronisieren”, mit dem er Dateien vom Server fängt.

dasi2.png

Als nächstes wollte ich meine Datenbank(en) fangen, was sich ebenfalls schwierig gestaltete, denn mein Provider lässt keine Remote-Zugriffe auf die Datenbanken zu. Deswegen fielen Tools wie CocoaSQL oder YourSQL aus. Dabei hätte ich doch gerne eine mysqldump-artige Textdatei meiner Daten - also muss PHP helfen.

Ich habe mir folgendes Skript geschrieben, dass den Inhalt einer DB ausgibt. Die müsst ihr auf euren eigenen Server legen, euch einen kreativen Namen ausdenken und mein PHP-Paket anyDB dazulegen und aufpassen, dass die Pfadangaben in den ersten drei Zeilen passen.

dasi3.png

Ist dies alles geschehen, kann der nächsten Automator-Schritt diese Datei nutzen. Diesmal ist Safari an der Reihe:

dasi4.png

In der URI müssen die drei Parameter “user”, “pwd” und “db” angegeben werden:

http://www.deineurl.de/name.php?user=username&pwd=passwort&db=datenbank

Als nächstes fangen wir den Seiteninhalt (also den mysqldump) und speichern ihn in einer Textdatei. Die zweite Funktion stellt uns TextEdit bereit:

dasi5.png

Die Schritte drei und vier einfach für alle zu sichernden Datenbanken wiederholen.

Sind alle Daten zusammen, wäre es ja praktisch, wenn die schön gezippt werden könnten. Das erledigen diese Schritte:

dasi8.png

Die Suchparameter (in meinem Schritt 11) müsst ihr an das, was ihr so archivieren wollt, anpassen.

Jetzt ist der Workflow so gut wie fertig und kann als Programm gespeichert werden.

Fehlt nur noch, dass dieser Workflow regelmäßig und automatisch durchgeführt wird. Dabei hilft uns CronniX, eine nette Oberfläche für den cron Befehl. Dort lässt sich ein Zeitpunkt einstellen, mit dem ein bestimmtes Programm ausgeführt werden soll, wie z.B. der Screenshot: Samstags um 18:00 Uhr. Da stellt man sich seine Wunschzeit ein, wählt das Automator-Programm aus und setzt den Haken für das Präfix:

dasi6.png

Und fertig ist die Laube.

Was hilfreich ist, wenn man als ersten Schritt eine Bestätigung einfordert, damit die Datensicherung nicht einfach von alleine losgeht:

dasi7.png

2 Kommentare