错误的Linux文件夹中的Cron作业输出

时间:2015-12-21 14:09:07

标签: python linux path cron

这是我在这里的第一篇文章。我是Stack Overflow的忠实粉丝。这是我第一次找不到我的一个问题的答案。

以下是该方案:

在我的Linux系统中,我不是管理员或root用户。当我运行Python脚本时,输出显示在原始文件夹中,但是当我运行与Cron作业相同的Python脚本时,它会显示在我的帐户主文件夹中。有什么办法可以将输出定向到所需的文件夹吗?我确实有适当的shebang路径。

谢谢!

3 个答案:

答案 0 :(得分:1)

如果输出来自python脚本内部,则可以替换cron中的条目:

  python yourscript.py

 (cd thepath && python yourscript.py)

如果它是stderr stdout,你应该使用:

 (cd thepath && python yourscript.py >> output.log 2>&1)

我个人更喜欢在.bashrc引用的本地PYTHONPATH中使用包装bash脚本或真正的本地python安装,而不是使用"开发"路径。当您需要/想要修改脚本中的任何内容时,它具有不需要修改crontab条目的显着优点。

答案 1 :(得分:0)

您可以像这样指定cronjob的输出:

$ crontab -e
59 23 * * * python /home/nodeman/documents/myscripts/my-script.py > /home/nodeman/logs/my-script.log 2>&1

答案 2 :(得分:0)

感谢您在进一步搜索后的回复,我发现这有效:

* / 1 * * * * /home/ranveer/vimbackup.sh>> /home/ranveer/vimbackup.log 2>& 1