【发布时间】:2013-07-05 17:16:25
【问题描述】:
我正在运行一个命令,该命令作为我创建的 python 包的脚本安装。
我有一个 cronned_job_shell_script.sh 文件:
touch a.txt
my_script_command
my_scrip_command 使用 pip install my_py_package.tar.gz 安装的位置
cron 行是:
0 * * * * cronned_job_shell_script.sh
如果我从 shell 运行cronned_job_shell_script.sh,它工作正常,也可以运行 python 脚本。
即使先尝试 env -i /bin/bash --noprofile --norc 然后运行脚本也可以。
问题是,当被 cron 调度时,文件 a.txt 被触及,但脚本似乎没有运行。
【问题讨论】:
-
你试过
0 * * * * /bin/sh cronned_job_shell_script.sh吗? -
my_script_command在哪里?它是否可能在您的登录会话的 PATH 上,但不在您的默认 PATH(或 root 的默认路径,如果这是根 cron 而不是用户 cron)上? -
同时,仅放置绝对路径
/opt/mystuff/bin/my_script_command或其他什么而不是依赖于 PATH 是否可以接受? -
@fedorqui 试过了,还是不行
-
@abarnert 解决了,问题是 cron 以 root 用户身份运行它。把它写下来作为答案,我会接受它,这样你就可以得到积分:)