Сценарий запуска иногда перестал работать - rc.local виртуальная машина

Я добавил простую строку:

python <path-to-my-script> &

к/etc/rc.local, но я заметил, что после миграции от одного хоста до другого, сценарий иногда перестал работать.

Я использую KVM, VM's находятся под Ubuntu 12.04 32 бита. Хост имеет Ubuntu 12.04 64 бита, и я использую Живую Миграцию (частное облако, созданное с OpenStack).

Я не знаю, что это - отказ KVM/LIBVIRT, или возможно я делаю что-то не так на Ubuntu, или возможно это - отказ облачного программного обеспечения?

Это мог быть отказ rc.local? Есть ли что-то, что я должен для знания, когда я использую rc.local, и это может быть причина этого поведения?

0
задан 10 October 2012 в 21:25

2 ответа

Попробуйте добавить 10-секундную паузу перед командой сценария. Иногда rc.local запускается слишком рано ....

Пример:

...
# By default this script does nothing.
sleep 10 
python <path-to-my-script> &
exit 0
0
ответ дан 10 October 2012 в 21:25

Вы должны сначала проверить, не происходит ли сбой вашей программы. Самый простой способ сделать это - перенаправить вывод в файл и проверить его позже (не стесняйтесь заменить /myprogram.log на что-то другое):

python <path-to-my-script> &>/myprogram.log &

Кроме того, проверьте, что rc.local имеет следующая строка в конце

exit 0

и она исполняемая. Вы можете проверить это с помощью ls -la /etc/rc.local. Он должен отображать что-то вроде этого:

ls -la /etc/rc.local
-rwxr-xr-x 1 root root 629 Aug 10 19:41 /etc/rc.local

Если это не так, вы можете сделать его исполняемым, выпуская sudo chmod +x /etc/rc.local.

0
ответ дан 10 October 2012 в 21:25

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

Похожие вопросы: