gpt4 book ai didi

python - 从 shell 脚本 cron 调用 python 脚本

转载 作者:行者123 更新时间:2023-12-04 03:08:54 29 4
gpt4 key购买 nike

我有一个 shell 脚本 cron,它从同一目录调用 python 脚本,但是当这个 cron 执行时,我没有从我的 python 脚本中获得预期的输出,当我手动执行它时,我的 python 脚本的输出符合预期。

我提供了 python 脚本路径,例如/usr/bin/python room_wise.py

并在 shell 脚本中给出了所有 shell 参数,但仍然没有使用 shell 脚本 cron 调用我的 python 脚本。

有人可以帮我吗?

最佳答案

cron 作业中的大问题是绝对目录位置和相对目录位置。如图所示,您需要先将相对路径拆分出来。

#!/usr/bin/env bash
dirName=`dirname $0`
baseName=`basename $0`
arg1=$1
arg2=$2
cd ${dirName} && python ./room_wise.py arg1 arg2

然后使用 crontab -e 将项目添加到您的用户 cron 作业并添加以下内容:

PATH=/usr/bin:/bin:/sbin
30 00 * * * /my/directory/containing/room_wise_py.sh arg1 arg2 > /my/directory/containing/output.log 2>&1

您可以看到我已经添加了 PATH,因为这有时可能是某些操作系统发行版的问题。此外,该脚本与 bash 脚本存在于同一目录中,或者如果您修改 bash 脚本以将 dirname 包含为 $1,则可以将目录位置作为参数传递。

您还可以看到我已将所有输出定向到一个日志文件。这是一个非常好的主意,因为如果出现问题,有时很难调试过程。

关于python - 从 shell 脚本 cron 调用 python 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46728815/

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