gpt4 book ai didi

python - cronjob-script 创建的日志的位置

转载 作者:行者123 更新时间:2023-12-01 05:49:59 28 4
gpt4 key购买 nike

我以 root 用户身份运行 cronjob 脚本。该脚本位于/root/scripts/myscript.py在这个 python 脚本中,我写入这样的文件

log = open(os.path.basename(__file__) + ".log", "w+")
print("some text", file=log)

这应该创建一个名为 myscript.py.log 的文件,而且确实如此。但该文件位于/root/myscript.py.log中。这是为什么?我希望它在脚本目录中创建。

我使用 Debian Squeeze 并以 root 用户身份通过​​ crontab -e 添加作业。

最佳答案

这是因为它取决于 cron 任务启动时的 cwd,cron 也可以更改目录,因此始终对 cron 运行的作业使用绝对路径名,或从命令行传入绝对 stub 。

在您的 crontab -e 作为 root 的情况下,cron 将以 root 身份运行您的脚本,因此使用该用户的主目录。即/根

关于python - cronjob-script 创建的日志的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14674631/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com