Запустить скрипт python внутри /etc/rc.local не работает
Я изменил /etc/rc.local на своем Amazon AWS AMI
#!/bin/sh
touch /var/lock/subsys/local
# setup hostname properly
/usr/bin/python /root/automation/initSystem.py
поэтому последняя строка вызывает скрипт Python, который выполняет настройку (переменные Env, имя хоста, настройки сети и т. д.), а затем выполняет /etc/init.d/network restart
если я запускаю rc.local вручную /etc/rc.local все нормально
когда система запускается автоматически, она не работает. Так что коснитесь команды (2-я строка - сработало), но скрипт на 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
и он, вероятно, будет содержать подсказки о том, почему это не удалось.