Правильный способ сделать это в Ubuntu:
- Скопируйте /etc/init.d/skeleton в имя скрипта и отредактируйте его в соответствии со своими потребностями.
- Сделайте это исполняемым.
- Установите ваш скрипт на уровни запуска Debian с помощью этой команды.
sudo update- rc.d имя скрипта по умолчанию
- Убедитесь, что ссылки на ваш скрипт существуют на других уровнях выполнения, например, rc2.d, rc3.d. Вы также можете подтвердить, что этот скрипт правильно установлен через GUI администрирования-> Bootup Manager .
Проверьте /etc/init.d/README для получения более подробных инструкций и ссылок на документ спецификации. Вы также можете наложить более точный контроль над уровнями выполнения, в которых выполняются ваши сценарии, и приоритетом, с которым он должен вызываться:
$ sudo update-rc.d dummy defaults
Adding system startup for /etc/init.d/dummy ...
/etc/rc0.d/K20dummy -> ../init.d/dummy
/etc/rc1.d/K20dummy -> ../init.d/dummy
/etc/rc6.d/K20dummy -> ../init.d/dummy
/etc/rc2.d/S20dummy -> ../init.d/dummy
/etc/rc3.d/S20dummy -> ../init.d/dummy
/etc/rc4.d/S20dummy -> ../init.d/dummy
/etc/rc5.d/S20dummy -> ../init.d/dummy
$ sudo update-rc.d -f dummy remove
Removing any system startup links for /etc/init.d/dummy ...
/etc/rc0.d/K20dummy
/etc/rc1.d/K20dummy
/etc/rc2.d/S20dummy
/etc/rc3.d/S20dummy
/etc/rc4.d/S20dummy
/etc/rc5.d/S20dummy
/etc/rc6.d/K20dummy
$ sudo update-rc.d -n -f dummy start 20 2 3 4 5 .
Adding system startup for /etc/init.d/dummy ...
/etc/rc2.d/S20dummy -> ../init.d/dummy
/etc/rc3.d/S20dummy -> ../init.d/dummy
/etc/rc4.d/S20dummy -> ../init.d/dummy
/etc/rc5.d/S20dummy -> ../init.d/dummy
$ sudo update-rc.d -n -f dummy stop 20 0 6 .
Adding system startup for /etc/init.d/dummy ...
/etc/rc0.d/K20dummy -> ../init.d/dummy
/etc/rc6.d/K20dummy -> ../init.d/dummy
Редактировать: на первом шаге изначально говорилось, что нужно следовать шаблону, который я предоставил с ответом, но позже я понял, что существует стандартизированный шаблон, поэтому я соответственно изменил ответ.