crontab mit eigener IP-Adresse
Luise
- webserver
0 Encoder0 Luise
0 dedlfix0 Sven Rautenberg
Hallo,
habe eine kleinen Webserver privat zu Hause auf Raspberry PI Basis. Tut alles was ich brauche ... zum Glück ;-)
Aber mit dem Crontab habe ich Probleme, d.h. mittlerweile läuft auch diese.
Mit
* * * * * /var/www/ php5 cron.php
oder
* * * * * /var/www/cron.php
hat es nicht funktioniert (habe dann solange gegoogle, bis ich die curl-Lösung gefunden habe), dafür aber mit
* * * * * /usr/bin/curl http://192.168.10.104/cron.php?auto=1
Könnt Ihr mir verraten, wie ich an der Stelle der IP-Adresse die des Gerätes einfügen kann. D.h. wenn ich mein Netzwerk Wechsel, möchte ich diese nicht jedes Mal manuell ändern müssen, damit der Cronjob läuft.
Also, mit welcher Variabel kann ich die IP-Adresse (die mir per DHCP) zugeteilt wurde, im crontab angeben?
Vielen Dank,
Liebe Grüsse, Luise
localhost geht nicht? Wär das einfachste.
localhost geht nicht? Wär das einfachste.
Perfekt ... hätte ich ja auch selbst darauf kommen können ...
Liebe Grüsse, Luise
localhost geht nicht? Wär das einfachste.
Perfekt ... hätte ich ja auch selbst darauf kommen können ...
Liebe Grüsse, Luise
Nein. Das ist nicht perfekt, weil es zu viele Programme beschäftigt und damit sehr viel mehr Leistung benötigt als notwendig.
* * * * * /usr/bin/php5 -f /pfad/zu/cron.php
wäre richtig, wenn man es jede Minute ausführen will. Voraussetzung ist ein installiertes Paket namens "php5-cli".
Allerdings sollte die chron.php dann auch keine Ausgaben machen - die landen sonst womöglich (je nach Konfiguration) als Mail beim root. Soweit die chron.php Bezug auf Dateien nimmt sollten diese auch absolute Pfadangaben enthalten.
Tach!
* * * * * /var/www/ php5 cron.php
Mit dem Leerzeichen vor dem php5? (Oder meinst du sowas wie cd /var/www/; php5 cron.php?) Mal angenommen, das Leerzeichen ist nicht bei dir drin, liegt die php5 denn überhaupt in /var/www/? Das wäre ungewöhnlich. Der PATH in einer Shell für Nutzer ist üblicherweise deutlich länger als der, den crontab zur Verfügung hat. Man muss da meist genauer angeben, wo das Zeug zu finden ist. Und das gilt auch für Dateien, die als Parameter angegeben sind.
* * * * * /var/www/cron.php
In dem Fall müsste /var/www/cron.php ausführbar sein und mit einer Shebang starten.
dedlfix.
Moin!
Aber mit dem Crontab habe ich Probleme, d.h. mittlerweile läuft auch diese.
Mit
* * * * * /var/www/ php5 cron.php
Wenn das "/var/www/php5 cron.php" sein soll, wird es scheitern, weil PHP das Skript nicht findet.
In Crontabs hat man eigentlich nie einen automatische Pfaderweiterung, du musst immer für alles absolute Pfade angeben.
oder
* * * * * /var/www/cron.php
Das wird evtl. scheitern, weil das Skript nicht als Shell-Skript ausführbar ist und eine Shebang-Zeile enthält.
Die Shebang-Zeile wäre sowas:
#!/usr/bin/env php
<?php // hier geht es normal mit PHP los
Das Skript muss dann ausführbar gemacht werden: chmod +x cron.php
Es ist allerdings bei beiden Fällen zu beachten, dass das Skript im Kontext des ausführenden Cron-Users läuft, also ggf. andere Rechte gelten, als beim Aufruf über Webbrowser.
hat es nicht funktioniert (habe dann solange gegoogle, bis ich die curl-Lösung gefunden habe), dafür aber mit
* * * * * /usr/bin/curl http://192.168.10.104/cron.php?auto=1
Das hingegen verbrät auf einem Raspberry Pi eventuell recht viele Ressourcen zusätzlich, die nicht sein müssen.
- Sven Rautenberg