看了很多关于crontab和env的帖子,还是没法正确设置。
我用过
env > env_setting
因为我需要使用相同的env设置和bash来运行,所以在crontab -e
*/1 * * * * env - `cat /path/to/env_setting` /bin/bash ; /bin/bash /path/to/program.sh
但它不起作用。如何使用与我在 cron 作业中使用的环境相同的环境?
P.S 我正在使用 Red Hat。
编辑:
我在 program.sh
env >> temp.log 2>&1
env - `cat /path/to/env_setting`
env >> temp.log 2>&1
但是 temp.log
中的 2 个 env
输出是完全一样的。没有使用 env_setting
最佳答案
cron
有许多怪癖和问题,它对环境变量的处理是一个值得注意的问题。您可以尝试通过重新导入您的环境来解决该问题,但如果可能,更好的选择是完全避免 cron
。对于许多用例,at
command工作得更好,并且在 您的 环境中运行其他功能,而不是 cron
的精简版。
更多信息:
关于linux - 如何使用与我在 cron 作业中使用的环境相同的环境?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39869647/