Crontab wird ausgeführt, shell-Skript jede minute
Ich habe ein shell-script auf meinem red hat-server, die ausgeführt werden muss, jede minute. Mein Skript befindet sich im /media
. Ich habe bearbeitet die crontab wie folgt:
* * * * * /media/statusshellscript.sh
Mein Skript ist definitiv in der Lage oben und ich weiß, dass 5 Sterne bedeutet, jede minute ausgeführt.
oh.. und mein Skript definintely funktioniert! weil wenn ich mache ./statusshellscript es funktioniert gut. Hier ist mein Skript trotzdem, es im Grunde gerade läuft ein php-script, das ich gemacht, die das Leben einfacher machte.
#!/bin/bash
# Script to execute the PHP Script
cd ~
cd /media/PHPServerTest
php -f index.php
Crontab ist absolut gar nichts tun im moment. Nicht sicher, was zu versuchen nächsten?
Auch.. Berechtigungen kein problem sein sollte, wie ich es getan habe chmod 777 statusshellscript
.
*/1 * * * *
?...und was passiert dann genau?
Warum nicht
*/1 */1 */1 */1 */1
dann?Ich bin nicht positiv, aber ich denke * * * * * ist die gleiche Sache. Und nichts passiert...
Überprüfen Sie die Rechte Ausführung. Ich habe tatsächlich gesehen, wie ein setup, wo
./script
bewerten würde das Skript unabhängig von exec Rechte.InformationsquelleAutor rednaxela | 2012-09-18
Du musst angemeldet sein, um einen Kommentar abzugeben.
wenn Sie nicht ausgeführt wird, obwohl cronjob aber durch Befehl seine Arbeit gut, dann kann es sein, zwei Gründen
1) Sie niemals Ihre Datei ausführbare , dass Sie beheben können, meine mit dem Befehl
2) dein Pfad ist nicht korrekt , für die Suche nach dem absoluten Pfad, den Sie verwenden können, Befehl
wenn realpath nicht bereits installiert ist, es wird schon erwähnt, dass Sie einen Befehl, wie es zu installieren
durch die überprüfung dieser Punkte sollte es funktionieren.
chmod +x filename
sollte nicht erforderlich sein, wenn./filename
Werk, sofern nicht etwas neues passiert. Und eine schnellels -l filename
würde sagen, OP, welche bits gesetzt sind. Ich denke immer noch, dies ist aufgrundPATH
nicht richtig eingestellt in der crontab.Sie können sudo realpath(mit dem Namen) , mittels chmod +x Dateiname die Datei sollte grünlich, wenn es nicht vor ....
InformationsquelleAutor akhter wahab
Den
PATH
für eine crontab ist nicht das gleiche wie in einer shell.Stellen Sie sicher, dass Sie definieren eine
PATH
in deiner crontab, die alles beinhaltet, was benötigt wird, indem Sie das Skript.Stellen Sie außerdem sicher, dass das Skript beginnt mit einer gültigen
#!
Markierung, die Punkte an der gewünschten shell.Oder verwenden Sie den vollständigen Pfad für alle Befehle in das Skript.
InformationsquelleAutor HonkyTonk
Wie schon andere gesagt haben, meine Wette wäre, eine falsch konfigurierte PFAD. Versuchen Sie, diese in den Pfad:
"* * * * * /media/statusshellscript.sh"
Gehen Sie überprüfen, dass die Ausgabe-Datei, um den PFAD zu sehen, wenn das Skript ausgeführt wird. Und anstatt definieren Sie den PFAD in der crontab, die einfach definieren, es in Ihrem Skript.
Oder tatsächlich das entfernen der "cd ~" es ist nutzlos
InformationsquelleAutor Harry