我有一个名为script.py
的脚本,位于EC2实例上。该脚本读取名为open(data.csv, 'r')
的同一文件夹(代码:data.csv
)中的文件。这是cron的工作:
* * * * * /home/ubuntu/anaconda3/bin/python /home/ubuntu/project/script.py > /var/log/myjob.log 2&>1
当我自己运行脚本时python script.py
完美无缺。但是,当cron运行脚本时,会在myjob.log
文件中打印出一条python错误(正如我的意图):
[Errno 2] No such file or directory: 'data.csv'
我怀疑cronjob不会在我自己运行它的同一目录中运行脚本,但是,我不知道如何编写crontab行告诉cron从脚本目录运行脚本是在。
答案 0 :(得分:1)
假设/home/ubuntu
...
* * * * * cd /home/ubuntu/ && ./anaconda3/bin/python ./project/script.py > /var/log/myjob.log 2>&1
将2>&1
添加到最后与您的问题无关,但会将STDERR
输出捕获到您的日志中,这可能也是您想要的。