Ärger mit dem FTP-Zugang

Da ist man mal motiviert und will der eigenen Abiseite was gutes tun, und was passiert? Kein Zugriff über FTP möglich. Ganz toll! Natürlich kann ich jetzt hier lokal lustig rumprogrammieren, aber eigentlich teste ich Zwischendurch immer ganz gerne, was ich so fabriziert habe.

Naja, muss die Welt halt noch eine Weile auf das tolle Termin-Organisations-Tool warten, mit dem man mit und für eine große Gruppe, wie zum Beispiel einen Abijahrgang, einen optimalen Termin finden kann…

Update: FTP-Zugang funktioniert wieder aber Motivation ist weg 😉

Veröffentlicht unter Der Rest | Verschlagwortet mit

Mausklick auf eine Grafik per Formular abfragen

Ich arbeite zurzeit an einer Webanwendung, die es dem Benutzer ermöglichen soll, eingescannte Formulare mit Daten aus einer Datenbank zu verknüpfen. Dazu gebe ich die hochgeladene Grafik der Form

<form action="script.php">
<input type="image" src="grafik.jpg"/>
</form>

aus.

So wird bei einem Klick auf die Grafik automatisch die X- und Y-Koordinate des Mauszeigers an ein Script übergeben.
Sehr praktische Sache, die man einfach wissen muss! Ich wusste das vorher nicht und bin durch Zufall drauf gestoßen. Man kann es natürlich auch mit JavaScript realisieren, aber für meine Zwecke ist diese Formular-Methode genau das Richtige gewesen.

Nicht löschbare Dateien vom Webserver löschen

Manchmal kommt es vor, dass auf dem eigenen Webserver Dateien liegen, auf die der eigen FTP-Benutzeraccount keinen Zugriff hat. Das passiert zum Beispiel durch div. PHP-Scripte. Da man diese Dateien über den FTP-Account nicht löschen kann, muss man einen Umweg gehen.

Einige Webhoster, wie z.B. All-Inkl bietet in seinem Kontrollzentrum ein Tool an, mit dem die Dateirechte in einem Verzeichnis auf dem Webserver automatisch zurückgesetzt werden. Danach kann man die Dateien dann ganz bequem per FTP löschen.

Falls es diese Möglichkeit nicht gibt, bietet es sich an, Datein oder komplette Verzeichnisse mit Hilfe eines PHP-Scriptes zu löschen. Wenn es um einzelne Dateien geht, reicht die unlink()-Funktion von PHP.

Bei kompletten Verzeichnishierachien muss ein Script her, dass rekursiv Dateien und Verzeichnisse löscht. Bei SelfHtml gibt es einen Artikel zu dem Thema, der auch gleich ein Script bereitstellt. Einfach der Anleitung folgen und schon sind die unliebsamen Dateien vom Server verschwunden.

WP-Datenbank per CronJob sichern

In so einer WordPress-Datenbank sammeln sich im Laufe der Zeit eine Menge Daten (Beiträge, Kommentare, etc). Ohne die Datenbank ist eine WordPress-Installation wertlos, da alle Inhalte aus der Datenbank kommen.
Daher wäre es wirklich ärgerlich, wenn die Daten in der Datenbank verloren gehen würden. Zum Beispiel durch ein Plugin, dass einen Fehler enthält und die Datenbank löscht. Upps. Das wär es dann mit dem Blog.

Gegen solche Datenverluste hilft nur ein Backup. In WordPress bietet das „Wp-DB-Backup“-Plugin die Möglichkeit, die Datenbank schnell und unkompliziert zu sichern. Leider nur manuell. Man muss also immer daran denken, Backups zu erstellen. Mit dem „Wp-Cron“-Plugin vom selben Autor lässt sich ein Backup z.B. jede Stunde erstellen. Allerdings ist das Plugin davon abhängig, dass zur passenden Zeit jemand das Blog aufruft. Zudem verzögert sich der Seitenaufbau für den Besucher, der auserwählt wurde, um das Backup-Script zu starten.

Eleganter geht es mit eine kostenlosen Cronjobservice, über den pixelgraphix heute berichtet hat (Natürlich geht es auch mit Cronjobs, die der eigene Webhoster anbietet). Ich verwende eine modifizierte Version des „Wp-DB-Backup“-Plugins, dass ich von dem Cronjob jede Stunde aufrufen lasse. Die Modifizierung ist notwendig, da das Script ja unabhängig von der WordPress-Umgebung funktionieren soll, was nicht der Fall ist, wenn man es als WP-Plugin entwickelt, wie das „Wp-DB-Backup“-Plugin.

Durch den stündlichen Aufruf des Scriptes entsteht jede Stunde ein neues Datenbank-Backup. Ein zweiter Cronjob ruft einmal täglich ein ähnliches Script auf, dass ein Backup per E-Mail an mich sendet. So habe ich immer noch ein maximal 24 Stunden altes Backup, falls der Server mal komplett abraucht und die darauf gespeicherten Backups im Nirvana verschwinden.

Das Einzige, das mir noch fehlt, ist eine Routine, die alte Backups löscht, um das Backupverzeichnis auf dem Webserver nicht unnötig aufzublähen. Allerdings hält sich die Größe des Backups mit knapp 250kb noch sehr in Grenzen.

Falls jemand Interesse an dem Script hat, dass sich von einem CronJob aufrufen lässt, bin ich gerne bereit, dies hier zu veröffentlichen.