Запустить скрипт 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

и он, вероятно, будет содержать подсказки о том, почему это не удалось.

Другие вопросы по тегам