Как запустить скрипт во время загрузки в Debian Wheezy?

Как запустить скрипт во время загрузки в Debian Wheezy?

Я пишу скрипт для выполнения некоторых задач во время загрузки в моем Debian Wheezy AWS EC2 AMI. Источники в интернете говорят, что обычный способ сделать это — использовать update-rc.dдля установки символических ссылок, необходимых для настройки его для запуска во время загрузки.

Однако, когда я пытаюсь это сделать, я получаю ошибку

$ update-rc.d
-bash: update-rc.d: command not found

Этот метод работал у меня до Debian Squeeze. Изменился ли стандартный способ сделать это в Debian 7.0? Я не могу найти никакой документации, которая бы объясняла, как это сделать официальным способом.

решение1

Похоже, вы пытаетесь использовать update-rc.dкак непривилегированный пользователь? Поскольку этот инструмент находится в, /usr/sbin/у вас его, вероятно, нет в вашем $PATH. Так что попробуйте запустить его как пользователь root или вызвать его через sudo update-rc.d.

решение2

Ваш скрипт должен содержать заголовок LSB (Linux Standards Base), который указывает его зависимости и возможности (см.https://wiki.debian.org/LSBInitScriptsдля получения дополнительной информации о заголовках LSB).

Если заголовок LSB присутствует, вы можете insservвключить свой скрипт в процесс загрузки (см.https://wiki.debian.org/LSBInitScripts/DependencyBasedBootЧтобы получить больше информации).

решение3

Частью создания нового скрипта LSB является добавление его в качестве стартовой службы, что является более стандартным подходом.

Вы также можете добавить любые мелкие скрипты (например, создание отчета, задачи очистки) в /etc/init.d/rc.local.

Однако убедитесь, что rc.local присутствует и включен на вашем уровне выполнения (обычно 3 на Debian) -find /etc/rc*.d | grep rc.local

Связанный контент