我正在运行一个命令,它是作为我创建的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 :(得分:1)
问题是你将它放在系统crontab中,这意味着它是由root运行的,而root与你的用户有不同的PATH
变量。所以,在shell中测试它(因为你,而不是root)实际上并没有测试同样的东西。
最简单的解决方案是使用脚本的绝对路径 - /opt/mystuff/bin/my_script_command
而不只是my_script_command
。