Läuft cron-Job aus einem bestimmten Verzeichnis
Erstellte ich ein php-Skript für die Generierung von RSS-feeds, die letztendlich ausgeführt werden über einen Cronjob.
Alle php-Dateien und die daraus resultierenden RSS-xml wird in einen sub-Ordner in einer website. Das php-Skript läuft wunderbar auf meinem lokalen dev, wenn ich mit terminal oder browser, während im gleichen Verzeichnis auf meinem lokalen Entwicklungsrechner.
e.g. php /Library/WebServer/Documents/clientname/siteroot/rss/dorss.php
funktioniert gut, ebenso wie die Navigation zu der dorss.php Datei in Chrome.
Der CronJob ausgeführt wurde, wenn auch mit Fehler in Bezug auf die Tatsache, dass es nicht finden können, die Dateien angegeben, die mit require_once (), welche sich im gleichen Ordner als rss oder in einem Unterordner von diesem.
Lange Geschichte kurz ich muss die Cronjob laufen, die im gleichen Verzeichnis wie die dorss.php Datei, so dass es zur Referenzierung der include-Dateien richtig.
Meine Kenntnisse zum einrichten eines cronjob ist SEHR begrenzt, deshalb wollte ich Fragen, ob dies überhaupt möglich ist (Ändern Sie das Verzeichnis vor dem ausführen-Befehl), um dies zu tun, auf den gleichen Befehl Zeile der crontab, oder wenn nicht, wie kann es erreicht werden, bitte?
Die aktuelle cronjob-Befehl ist
0 0,6,12,18 * * * /usr/bin/php /var/www/vhosts/clientname/stagingsite/rss/dorss.php
TIA
John
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich weiß nicht, ob es eine bessere Lösung gibt, aber ich würde vorschlagen, zu schreiben, ein bash-script, dass die änderungen in das richtige Verzeichnis vor dem ausführen der PHP-Datei, und verwenden Sie cron das Skript. E. g:
Oder auch nur:
Speichern Sie es irgendwo und Verwendung von cron ausführen.
Können Sie ändern Sie das Verzeichnis in das Sie wollen, und führen Sie dann das php aus dem Verzeichnis durch, dies zu tun:
cd /var/www/vhosts/clientname/stagingsite/rss/
&&
/usr/bin/php dorss.php
Es ist einfacher als das erstellen von bash-Skripten, hier ist das Ergebnis: