|
|
 |
Automatische Wartung
PhpAdsNew benutzt ein spezielles Wartungs-Skript um Kampagnen zu aktivieren, Prioritäten
zu rekalkulieren, Statistiken auszuwerten und Berichte an Werbetreibende per eMail zu versenden.
Das Wartungs-Skript muss jede Stunde ausgeführt werden damit PhpAdsNew korrekt arbeitet. Es gibt
mehrere Wege das Skript automatisch ausführen zu lassen. Einige von Ihnen sind im folgenden
beschrieben.
Der am meisten genutzte Weg auf Unix/Linux-Web-Servern eine Aufgabe automatisch ausführen zu lassen ist
der cron-daemon. Unter Windows 2000/XP-Servern gibt es eine grafische Oberfläche um Aufgaben zeitgesteuert
ausführen zu lassen oder Du benutzt den "at"-Befehl. Wenn Du aus bestimmten Gründen
diese Programme nicht benutzen kannst, benutze einen externen cron-Service oder benutze den
cron-Emulator der bei PhpAdsNew integriert ist. Die letzten zwei Optionen sind nicht so zuverlässig,
wenn möglich vermeide es sie einzusetzen.
Wenn das Wartungs-Skript einmal nicht aufgerufen wird passiert nicht viel. Wird das Wartungs-Skript
über einen längeren Zeitraum nicht ausgeführt wirkt sich das auf die Funktionalität von PhpAdsNew
aus. Beispiel: Das Wartungs-Skript wurde nicht gestartet, PhpAdsNew aktiviert keine neuen Kampagnen
und die Kundenreporte werden nicht versendet. Ein weiterer negativer Effekt ist das PhpAdsNew die
Prioritäten der Banner nicht rekalkuliert, was bedeutet das Kampagnen mit hoher Priorität und Kampagnen
die zwei Eigenschaften haben, ein Verfallsdatum und eine feste Anzahl an Einlendungen, öfter
gezeigt werden als gewollt. Wenn Du Probleme beim Ausliefern mit Bannern von solchen Kampagnen hast überprüfe
zuerst die korrekte Ausführung des Wartungs-Skripts.
Falls das Wartungs-Skript länger als 24 Stunden nicht ausgeführt wurde, wird eine Mitteilung angezeigt wenn
Du dich in das Admnistrator-Interface einloggst. Diese Mittilung kann nicht deaktiviert werden. Die einzige
Möglichkeit diese Meldung nicht anzeigen zu lassen ist, das Wartungs-Skript auszuführen und den automatischen
Aufruf korrekt zu konfigurieren.
Zeitgesteuerte Aufgaben ausführen lassen auf Unix/Linux basierten Servern
Auf einem Unix/Linux basiertem Server, wie beispielsweise BSD, Sun oder MacOS X, kannst Du den cron-daemon
nutzen um automatisch die Datei maintenance.php stündlich aufzurufen. Du kannst Deine
sogenannte cron-jobs mit dem Programm crontab verwalten. Wenn Du kein Zugriff auf crontab
hast kontaktiere bitte Deinen Internet-Service-Provider (ISP) oder den Administrator Deines Servers.
In den meisten Fällen brauchst Du Zugriff über die Eingabeaufforderung um auf Deinem Server
cron-jobs hinzuzufügen. Nachdem Du dich mittels TelNet oder SSH eingeloggt hast, benutze folgenden
Befehl um Deine vorhandenen cron-jobs in eine Datei schreiben zu lassen:
crontab -l > cron.txt
Nach dem Export Deiner vorhandenen cron-jobs in eine Datei kannst Du mit einem Texteditor Deiner Wahl
Aufgaben hinzufügen. Weil jeder Server oder ISP anders ist gibt es keine generelle Methode die bei allen
Server funktioniert. Abhängig von der Konfiguration Deines Servers kannst Du folgende Programme
benutzen um die Datei maintenance.php automatisch auszuführen: curl, fetc, lynx oder wget.
Um herauszufinden welches dieser Programme von Deinem Server unterstützt wird gib die Namen einfach
auf der Kommandozeile ein. Wenn die meldung erscheint "command not found" ist das Programm
auf Deinem Server nicht installiert.
Basierend auf dem jeweiligen Programm müssen folgende Zeilen in der cron.txt hinzugefügt werden:
# bei curl:
0 * * * * curl http://www.server.com/phpAdsNew/maintenance/maintenance.php
# fetch:
0 * * * * fetch -o - http://www.server.com/phpAdsNew/maintenance/maintenance.php
# lynx:
0 * * * * lynx -dump http://www.server.com/phpAdsNew/maintenance/maintenance.php
# wget:
0 * * * * wget -q -O - http://www.server.com/phpAdsNew/maintenance/maintenance.php
Nach dem Editieren der cron.txt und dem Hinzufügen von der jeweilig passenden Zeile muss die cron.txt
wieder in den cron-daemon importiert werden. Befehl:
crontab cron.txt
Zeitgesteuerte Ausführung unter Windows 2000/XP-Servern
Bei M$ Windows 2000/XP-Servern kannst Du den Taskplaner verwenden um die Datei maintenance.php aufzurufen.
Es gibt kein Standard-Programm um die Datei maintenance.php unter Windows garantiert ausführen.
Download von wget
Zuerst muss wget heruntergeladen werden. Dieses Kommandozeileprogramm holt Dateiinhalte aus Dateien die auf
Web-Servern gespeichert sind. Wget gibt es für (fast) alle Betriebssysteme, inklusive Windows. Nach dem Download
der .zip-Datei kopiere die Datei wget.exe in das Verzeichnis Deiner Windows-Installation. Wget ist kein Teil
von PhpAdsNew und muss separat heruntergeladen werden. Aktuelle Versionen gibt's unter
http://www.gnu.org/software/wget/wget.html.
Erstellen der Batch-Datei
Im nächsten Schritt wird eine kleine Batch-Dati erzeugt welche wget mit Parametern aufruft. Diese Datei kann später
durch den Task-Manager automatisch aufgerufen werden. Du kannst Notepad benutzen um die Batch-Datei zu
erstellen und folgende Eintragungen machen. Speichere die Datei als phpads.bat wo Du möchtest aber es ist weise
die Datei in einem Verzeichnis zu speichern das nicht mehr geändert wird und vom Web-Server erreichbar ist.
Das heisst: Du musst die URL im Beispiel unten korrekt an Deine Umgebung anpassen.
Neuen Task erstellen
Der nächste Schritt ist, einen neuen Auftrag im Taskplaner einzurichten. Der Taskplaner versteckt sich im Startmenü
unter Zubehör - Systemprogramme.
Klicke auf Task hinzufügen. Der Assistent wird nach einem Klick auf Weiter fragen welches Programm ausgeführt
werden soll. Klicke auf Durchsuchen... und wähle die Batch-Datei aus die Du eben erstellt hast. Nun gib dem Task
noch einen Namen und wähle "tägliche Ausführung".
Klicke auf Weiter und setze die Stratzeit auf 00:00 Uhr und wähle "Täglich". Nach einem Klick auf
Weiter fragt der Assi nach einem Benutzernamen mit ausreichenden Rechten und nach dem zugehörigen Passwort.
Nachdem Du den Benutzernamen und Passwort eingegeben hast klicke auf Weiter. Stelle sicher das die
Option "erweiterte Eigenschaften für diesen Task beim ...", aktiviert ist, weil noch einige
Einstellungen notwendig sind. Jetzt klicke auf Fertigstellen.
Um sicherzustellen das der Task jede Stunde ausgeführt wird, öffne die Eigenschaften des eben erstellten Tasks,
gehe zu "Zeitplan" und klicke auf "Erweitert". Wähle hier "Wiederholungsintervall"
und setze die Wiederholungsrate auf 1 Stunde. Bei "Bis" wähle "Zeit" und stelle 23:59 Uhr ein.
klicke auf OK, schliesse die Dialogbox ud klicke auf "Übernehmen" um die Einstellungen zu speichern.
Einen externen cron-Server benutzen
Wenn Dein Server keine zeitgesteuerten Aufgaben oder cron-jobs unterstützt ist es trotzdem möglich die Datei maintenance.php
jede Stunde auszuführen durch Benutzung eines externen cron-Servers.
Für $9.95 pro Jahr, cronservices.com erlaubt Dir so viele zeitgesteuerte Tasks einzurichten wie Du möchtest. Administriert
werden die Tasks über eine einfach zu bedienende Browser-Oberfläche. Nach dem Einloggen bei cronservices.com kannst
Du neue Tasks hinzufügen und vorhandene bearbeiten. Um einen Task jede Stunde starten zu lassen, wähle alle Stunden an
aber kein Datum, Tag in der Woche oder Monat. Dann gib die volle Adresse (URL) zur Datei maintenance.php
in das Feld "Script URL" ein. Beispiel: Dein PhpAdsNew http://www.deinServer.com/phpadsnew, die URL
zum Eintragen http://www.deinServer.com/phpadsnew/maintenance/maintenance.php. Nach der Eingabe eines Names für
den Task klicke auf Einfügen (Insert).
Verwenden des PhpAdsNew cron-Emulators
Als letztes Mittel besteht noch die Möglichkeit einen cron-Emulator zu benutzen. phpAdsNew liefert einen gleich mit.
Der cron-Emulator ist ein kleines Skript das von einer oder mehreren Deiner Webseiten aufgerufen wird. Jedesmal
wenn ein Besucher eine Deiner Seiten mit diesem Skript öffnet, überprüft das Skript den letzten Aufruf der Datei
maintenance.php und startet sie wenn der letzte Aufruf mehr als eine Stunde zurückliegt.
Diese Methode ist weniger akkurat als die vorherigen Methoden weil Deine Webseite nicht immer pünktlich zur
vollen Stunde von jemandem besucht wird, folglich auch die Datei maintenance.php ihren Wartungsauftrag nicht
erledigen kann. Sehr effektiv arbeitet diese Methode wenn der Aufruf einer Deiner Seiten mit dem Emulations-Skript
innerhalb de ersten 5 bis 10 Minuten jeder Stunde erfolgt. Um akkurat zu arbeiten sollte mindestens ein Besucher
das Skript in den ersten 5 bis 10 Minuten aufrufen.
Bevor Du den cron-Emulator benutzen kannst musst Du die Datei fakecron.lastrun.php für Deinen web-Server
überschreibbar machen. Die Datei befindet sich im Verzeichnis phpadsnew/misc/fakecron. Auf einem Unix/Linux-Server
ändere die Dateirechte auf der Kommandozeile oder falls das nicht geht, mit einem FTP-Klienten.
chmod a+w fakecron.lastrun.php
Nachdem jetzt die Datei fakecron.lastrun.php beschreibbar ist musst Du noch folgenden HTML-Codeschnipsel
in eine oder mehrere Deiner Webseiten an beliebiger Stelle einbauen. Nicht vergessen die Adresse im unten
gezeigten Beispiel entsprechend Deiner Server-Umgebung anzupassen. Solltest Du PhpAdsNew in ein anderes
Verzeichnis installiert haben, vergiss nicht die entsprechenden Anpassungen vorzunehmen damit die Datei
fakecron.php vom richtigen Verzeichnis aus aufgerufen wird.
<img src="http://www.server.com/phpAdsNew/misc/fakecron/fakecron.php" width="0" height="0">
weiter mit Konfiguration - Einleitung |
|
|