我修改了 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
并且可能包含失败原因的提示。