这是我在这里的第一篇文章。我是Stack Overflow的忠实粉丝。这是我第一次找不到我的一个问题的答案。
以下是该方案:
在我的Linux系统中,我不是管理员或root用户。当我运行Python脚本时,输出显示在原始文件夹中,但是当我运行与Cron作业相同的Python脚本时,它会显示在我的帐户主文件夹中。有什么办法可以将输出定向到所需的文件夹吗?我确实有适当的shebang路径。
谢谢!
答案 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