在 /etc/rc.local 中运行 python 脚本不起作用

在 /etc/rc.local 中运行 python 脚本不起作用

我修改了 Amazon AWS AMI 上的 /etc/rc.local

#!/bin/sh
touch /var/lock/subsys/local
# setup hostname properly
/usr/bin/python /root/automation/initSystem.py

所以最后一行调用执行配置(环境变量、主机名、网络设置等)的 Python 脚本,然后执行 /etc/init.d/network restart

如果我手动运行 rc.local /etc/rc.local 一切都很好

当系统自动启动时,它不起作用。因此,touch 命令(第二行 - 有效),但 python 脚本从未执行,至少其执行结果如此(设置主机名和重新启动网络接口似乎根本不起作用)

有任何想法吗?

答案1

我们无法调试神秘脚本。在空环境下运行 Python 脚本是否可行?尝试:

env -i /usr/bin/python /root/automation/initSystem.py

修改脚本以捕获脚本中命令的输出:

/usr/bin/python /root/automation/initSystem.py > /root/init.stdout 2> /root/init.stderr

并且可能包含失败原因的提示。

相关内容