sudo mv /filename /etc/init.d/
sudo chmod +x /etc/init.d/filename
sudo update-rc.d filename defaults
Скрипт теперь должен запускаться при загрузке. Обратите внимание, что этот метод также работает как с жесткими ссылками, так и с символическими ссылками ( ln
).
редактировать
На этом этапе процесса загрузки PATH еще не установлен, поэтому крайне важно, чтобы во всем процессе использовались абсолютные пути. НО, как указано в комментариях Стива HHH, явное объявление полного пути к файлу ( /etc/init.d/filename
) для команды update-rc.d недопустимо в большинстве версий Linux. Согласно справочной странице update-rc.d , второй параметр - это скрипт, расположенный в /etc/init.d/*
. Обновлен приведенный выше код, чтобы отразить это.
Другое редактирование
Также, как указано в комментариях (Чарльз Брандт), /filename
должен быть сценарий стиля инициализации. Также был предоставлен хороший шаблон - https://github.com/fhd/init-script-template .
Еще одна ссылка на другую статью, чтобы избежать возможного гниения ссылок (хотя было бы печально, если бы GitHub умер) - http://www.linux.com/learn/tutorials/442412-managing-linux-daemons-with-init-scripts
пока еще
Как указано в комментариях (Рассел Ян), это работает только в режиме update-rc.d по умолчанию.
Согласно руководству update-rc.d, он может работать в двух режимах: «машины, использующие устаревший режим, будут иметь файл /etc/init.d/.legacy-bootordering
», и в этом случае вам нужно передать последовательность и конфигурацию уровня запуска через аргументы командной строки.
Эквивалентный набор аргументов для приведенного выше примера:
sudo update-rc.d filename start 20 2 3 4 5 . stop 20 0 1 6 .