rc.local не запускает второй скрипт, если первый - '/opt/lampp/lampp start'
У меня есть сценарий, чтобы остановить сетевой менеджер во время загрузки. Я сделал запись для этого в rc.local. это работает нормально. но на одном сервере установлен MySQL и rc.local уже имеет одну запись для запуска lampp. (/opt/lampp/lampp start).
после этого я сделал запись для моего сценария. Теперь rc.local выглядит так:
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
/opt/lampp/lampp start
sh /etc/startupscript.sh
exit 0
во время загрузки выполняется первая запись и журналы в boot.log:
Пропуск профиля в /etc/apparmor.d/disable: usr.sbin.rsyslogd * Запуск профилей AppArmor [ OK ] Запуск XAMPP для Linux 5.6.24-1... XAMPP: Запуск Apache... ок. XAMPP: запуск MySQL... хорошо. XAMPP: Запуск ProFTPD... хорошо. Запуск XAMPP для Linux 5.6.24-1... XAMPP: Запуск Apache... сбой. XAMPP: другой веб-сервер уже запущен. XAMPP: запуск MySQL... хорошо.
XAMPP: запуск ProFTPD... уже запущен.
и выход. вторая строка sh /etc/startupscript.sh не выполняется.
Если я выполняю rc.local вручную, оба сценария запускаются успешно. заранее спасибо.
1 ответ
Я получил ответ.. в первой строке rc.local есть -e, означающее "выход при ошибке", я удаляю его, тогда все сценарии запускаются успешно. и не влияют друг на друга.