Hier werden die Unterschiede zwischen zwei Versionen gezeigt.
Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
tombejo:module:kalender:otk:cronjob [2014/04/12 16:12] cgraeber_girona.de angelegt |
tombejo:module:kalender:otk:cronjob [2016/12/20 10:04] (aktuell) |
||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
- | Anleitung Cron-Job für OTK-Abfrage | + | ====== Anleitung Cron-Job für OTK-Abfrage ====== |
+ | |||
+ | Cronjobs werden bearbeitet in: crontab -e -u www-data | ||
+ | |||
+ | ===== taskstarter.php ===== | ||
Regelmäßig auszuführen ist das PHP-Skript taskstarter.php im Hauptverzeichnis des Tombejo-Programms. Dies wird in der Regel über einen Cron Job auf dem Linux-Server geregelt. | Regelmäßig auszuführen ist das PHP-Skript taskstarter.php im Hauptverzeichnis des Tombejo-Programms. Dies wird in der Regel über einen Cron Job auf dem Linux-Server geregelt. | ||
Das Skript benötigt ein Passwort zum starten des Programms um zu vermeiden, dass das Programm von unbefugten gestartet werden kann. Dieses muss in der Datei includes/settings/settigs.inc.php im Tombejo-Programm gesetzt werden indem dort die Zeile | Das Skript benötigt ein Passwort zum starten des Programms um zu vermeiden, dass das Programm von unbefugten gestartet werden kann. Dieses muss in der Datei includes/settings/settigs.inc.php im Tombejo-Programm gesetzt werden indem dort die Zeile | ||
- | cronpass = meinpasswort | + | |
+ | <code>cronpass = meinpasswort | ||
+ | </code> | ||
hinzugefügt wird. "meinpasswort" sollte durch ein sichereres Passwort ersetzt werden. | hinzugefügt wird. "meinpasswort" sollte durch ein sichereres Passwort ersetzt werden. | ||
Zeile 11: | Zeile 18: | ||
Für die Ausführung des Skripts gibt es dann prinzipiell zwei Möglichkeiten. | Für die Ausführung des Skripts gibt es dann prinzipiell zwei Möglichkeiten. | ||
+ | ==== 1. Über PHP CLI ==== | ||
- | 1. Über PHP CLI | ||
Dazu muss bei den meisten aktuellen Linux Distributionen das Paket php5-cli installiert sein, wodurch ermöglicht wird, dass PHP-Skripte von der Kommandozeile gestartet werden können, z.B. "php taskstarter.php" . | Dazu muss bei den meisten aktuellen Linux Distributionen das Paket php5-cli installiert sein, wodurch ermöglicht wird, dass PHP-Skripte von der Kommandozeile gestartet werden können, z.B. "php taskstarter.php" . | ||
- | Soll der Cron-Job das Skript z.B alle 3 Minuten ausführen, würde die Zeile in der Cron-Konfiguration z.B so aussehn. | + | Soll der Cron-Job das Skript z.B alle 3 Minuten ausführen, würde die Zeile in der Cron-Konfiguration z.B so aussehen. |
- | */3 * * * * php /var/web/websites/tombejo.com/www/taskstarter.php pass=asdf | + | |
+ | %%*%%/3 %%*%% %%*%% %%*%% %%*%% php /var/web/websites/tombejo.com/www/taskstarter.php pass=asdf | ||
Hier die Erklärungen der einzelnen Elemente der Zeile: | Hier die Erklärungen der einzelnen Elemente der Zeile: | ||
- | */3 * * * *" verursacht dabei die Ausführung alle 3 Minuten. Ist die Ausführung alle 5 Minuten erwünscht, sieht dasn dann so aus: */5 * * * * | + | %%*%%/3 %%*%% %%*%% %%*%% %%*%%" verursacht dabei die Ausführung alle 3 Minuten. Ist die Ausführung alle 5 Minuten erwünscht, sieht dasn dann so aus: %%*%%/5 %%*%% %%*%% %%*%% %%*%% |
"php" ist das Kommandozeilenprogramm zur Ausführung von PHP-Skripten. Eventuell muss der gesammte Pfad zum Programm angegeben werden, z.B. /usr/bin/php | "php" ist das Kommandozeilenprogramm zur Ausführung von PHP-Skripten. Eventuell muss der gesammte Pfad zum Programm angegeben werden, z.B. /usr/bin/php | ||
Zeile 28: | Zeile 36: | ||
"pass=meinpasswort" ist ein Name-Wert-Paar das an das PHP-Programm übergeben wird. "meinpasswort" muss dabei durch das oben erwähnte Passwort aus der Datei includes/settings/settigs.inc.php ersetzt werden. | "pass=meinpasswort" ist ein Name-Wert-Paar das an das PHP-Programm übergeben wird. "meinpasswort" muss dabei durch das oben erwähnte Passwort aus der Datei includes/settings/settigs.inc.php ersetzt werden. | ||
+ | ==== 2. Aufruf über den Web-Server ==== | ||
- | 2. Aufruf über den Web-Server | + | Für dem Aufruf über den Webserver gibt es verschiedene Möglichkeiten. Das Prinzip aber besteht darin, taskstarter.php nicht von der Kommandozeile aufzurufen, sondern wie eine Webseite über den Webserver. Der Vorteil ist hier, dass es keine Rolle spielt unter welchem Benutzer der Cron-Job läuft. Die Url für diesen Aufruf sieht dann z.B. so aus: |
- | Für dem Aufruf über den Webserver gibt es verschiedene Möglichkeiten. Das Prinzip aber besteht darin, taskstarter.php nicht von der Kommandozeile aufzurufen, sondern wie eine Webseite über den Webserver. Der Vorteil ist hier, dass es keine Rolle spielt unter welchem Benutzer der Cron-Job läuft. | + | <code> |
- | Die Url für diesen Aufruf sieht dann z.B. so aus: | + | http://tombejo.com/taskstarter.php?pass=meinpasswort |
- | http://tombejo.com/taskstarter.php?pass=meinpasswort | + | </code> |
- | Dabei muss http://tombejo.com mit der korrekten URL-Adresse der Tombejo-Installation ersetzt werden. | + | Dabei muss [[http://tombejo.com|http://tombejo.com]] mit der korrekten URL-Adresse der Tombejo-Installation ersetzt werden. Auch muss "meinpasswort" mit dem oben erwähnte Passwort aus der Datei includes/settings/settigs.inc.php ersetzt werden. |
- | Auch muss "meinpasswort" mit dem oben erwähnte Passwort aus der Datei includes/settings/settigs.inc.php ersetzt werden. | + | |
Für das Aufrufen der URL muss dann wiederum wir bei der PHP-CLI Version ein Cron-Job erstellt werden. Zum Aufruf der Webseite bieten sich verschiedene Programme an: | Für das Aufrufen der URL muss dann wiederum wir bei der PHP-CLI Version ein Cron-Job erstellt werden. Zum Aufruf der Webseite bieten sich verschiedene Programme an: | ||
- | Ein Beispiel wäre z.B. "wget", dass auch als Paket "wget" in den meisten Linux-Distributionen zur Verfügung steht. | + | Ein Beispiel wäre z.B. "wget", dass auch als Paket "wget" in den meisten Linux-Distributionen zur Verfügung steht. In der Cron-Konfiguration sieht das für "wget" dann z.B. so aus: |
- | In der Cron-Konfiguration sieht das für "wget" dann z.B. so aus: | + | |
- | */3 * * * * wget --spider http://tombejo.com/taskstarter.php?pass=meinpasswort | + | %%*%%/3 %%*%% %%*%% %%*%% %%*%% wget –spider [[http://tombejo.com/taskstarter.php?pass=meinpasswort|http://tombejo.com/taskstarter.php?pass=meinpasswort]] |
- | Das --spider verhindert dabei, das Speichern der von Webserver gelieferten Datei, die wir nicht benötigen. Möglicherweise muss der absolute Pfad zu "wget" angeben werden, z.B /usr/bin/wget | + | Das –spider verhindert dabei, das Speichern der von Webserver gelieferten Datei, die wir nicht benötigen. Möglicherweise muss der absolute Pfad zu "wget" angeben werden, z.B /usr/bin/wget |
Eine weitere Möglichkeit wäre CURL, was ebenfalls in den den meisten Linux-Distributionen als Paket "curl" zur Verfügung steht. Der Aufruf ist fast der selbe wie für wget, z.B. | Eine weitere Möglichkeit wäre CURL, was ebenfalls in den den meisten Linux-Distributionen als Paket "curl" zur Verfügung steht. Der Aufruf ist fast der selbe wie für wget, z.B. | ||
- | */3 * * * * curl -s http://tombejo.com/taskstarter.php?pass=meinpasswort | + | %%*%%/3 %%*%% %%*%% %%*%% %%*%% curl -s [[http://tombejo.com/taskstarter.php?pass=meinpasswort|http://tombejo.com/taskstarter.php?pass=meinpasswort]] |
Auch hier muss die URL angepasst werden und eventuell der absolute Pfad zu curl verwendet werden, z.B. /usr/bin/curl . | Auch hier muss die URL angepasst werden und eventuell der absolute Pfad zu curl verwendet werden, z.B. /usr/bin/curl . | ||
Im Grunde muss nichts anderes gewährleistet sein, als das das taskstarter.php Skript mit dem richtigen Parameter "pass" aufgerufen wird und dieser Parameter muss in includes/settings/settngs.inc.php entsprechend konfiguriert sein. | Im Grunde muss nichts anderes gewährleistet sein, als das das taskstarter.php Skript mit dem richtigen Parameter "pass" aufgerufen wird und dieser Parameter muss in includes/settings/settngs.inc.php entsprechend konfiguriert sein. | ||
- | |||
- | |||
- | |||
- | |||