сценарий init.d не выполняется

У меня есть/etc/init.d сценарий, который запускает мой веб-сервер. Я сделал это исполняемым файлом и добавил его (update-rc.d webserver defaults). Когда я выполняю сценарий из командной строки, это хорошо работает (./webserver).

Но после перезагрузки моей системы не работает мой веб-сервер.

#!/bin/sh

PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin

cd ~/projects/webserver
./.build/debug/webserver &
exit 0

Действительно ли пользовательский каталог является проблемой (я зарегистрирован как корень)?

3
задан 25 August 2016 в 17:47

2 ответа

Тип расширения тильды, который вы хотите, выполняется в отношении текущего пользователя оболочки. Например, когда вы входите в систему как root ~, это /root. Если сценарий запускается до входа в систему, то ~ не может быть расширен до нужного каталога.

Используйте полный путь к файлу в вашем скрипте.

Для дальнейшего использования, здесь - несколько полезных примеров использования расширения тильды в скриптах

.
5
ответ дан 1 December 2019 в 13:16

Хорошо в Вашем сценарии существует проблема. Когда Вы пишете, что сценарий лучше использует путь aboslute вместо тильда (~) . Это, мог быть преступник, который сделал сценарий неприменимым. Если Вы хотите изменить dir, дать полный путь как/home/scripts/projects/вместо ~ / проекты .It имеет намного больше значения.

Для достижения цели существует несколько путей. Будучи Главным Системным инженером, я использую другую методологию для достижения таких вещей, который зависит от ситуаций. Хорошо здесь я перечисляю некоторые из многих путей.

1) Основной способ, чем Вы связали и не успешно выполнились.
sudo su
chmod a+x /etc/init.d/webserver
update-rc.d webserver defaults

2) Добавляют задание крона в перезагрузках.

sudo su
crontab -e
@reboot /home/path/to/script.sh

3) Добавляют Ваши команды к rc.local файлу перед последней строкой выход 0 .

sudo su
nano /etc/rc.local
PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin
cd /absolute/path/projects/webserver
./.build/debug/webserver &
3
ответ дан 1 December 2019 в 13:16

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

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