网站更新内容:请访问: https://bigdata.ministep.cn/

关于crontab执行python的os.system 失败问题

crontab 环境变量问题

目前写的一个自动替换nginx配置并测试重启的脚本放到crontab里无法执行,每次到os.system(“nginx -t”)这里就会中断,但是手动执行脚本又是正常的。

经查询,在crontab里无法读到系统的环境变量,直接os.system(“nginx -t”)是无法执行,这里会返回错误码,而脚本是在判断返回码为0时才会继续执行,所以在这里就中断了。

正确的写法需要在os.system()里使用绝对路径,如脚本里需要改成os.system(“/usr/sbin/nginx -t”)

如果脚本里有配置路径的话,也不能写成相对路径,需要先判断配置的绝对路径,或直接写成绝对路径。

参考

关于crontab执行python脚本失效的问题 | 撸猫者说]

posted @ 2021-10-21 10:58  ministep88  阅读(353)  评论(1编辑  收藏  举报
网站更新内容:请访问:https://bigdata.ministep.cn/