2016-10-09 15 views
0

Ich habe ein Skript namens script.py, das auf einer EC2-Instanz ist. Das Skript liest eine Datei in demselben Ordner (Code: open(data.csv, 'r')) mit der Bezeichnung data.csv. Hier ist der Cron-Job:cronjob kann Datei auf EC2 nicht finden

* * * * * /home/ubuntu/anaconda3/bin/python /home/ubuntu/project/script.py > /var/log/myjob.log 2&>1 

Als ich das Skript ausführen ich python script.py funktioniert perfekt ist. Wenn jedoch cron das Skript ausgeführt wird, wird ein Python-Fehler gedruckt (wie ich bestimmt) in der myjob.log Datei:

[Errno 2] No such file or directory: 'data.csv' 

Ich vermute cronjob das Skript nicht im selben Verzeichnis läuft, als wenn ich es selbst ausführen, allerdings weiß ich nicht, wie die crontab Zeile schreiben cron zu sagen, das Skript aus dem Verzeichnis ausführen, die das Skript in ist.

Antwort

1

/home/ubuntu Unter der Annahme ...

* * * * * cd /home/ubuntu/ && ./anaconda3/bin/python ./project/script.py > /var/log/myjob.log 2>&1 

2>&1 bis zum Ende hinzuzufügen ist unabhängig von Ihrer Frage, b ut fängt die STDERR Ausgabe in Ihr Protokoll ein, das Sie wahrscheinlich auch wollen.