debian /etc/init.d/ пример скрипта. Выполнить bash скрипт после перезагрузки системы

Как должен выглядеть файл скрипта

Чтобы уровни запуска подхватились правильно скрипту нужен специально оформленный закомментированный заголовок (см. примеры).

Добавляем в автозапуск

Предположим, что ваш файл называется upscript.sh тогда сохраните его в директорию:

/etc/init.d/

И затем выполните команды:

chmod ugo+x /etc/init.d/upscript.sh
update-rc.d upscript.sh defaults

(права на выполнение и добавление в автозапуск)

Проверка добавления в автозагрузку

update-rc.d может выдать предупреждение с локалью, а-ля:

perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
........
are supported and installed on your system.
perl: warning: Falling back to a fallback locale ("en_US.UTF-8").

(можно попробовать решить так)
-- главное, чтобы update-rc.d добавил ссылку на ваш скрипт, для этого поищем по файлам ссылок:

ls /etc/rc*.d

или сразу с именем вашего скрипта, напр. для скрипта upscript.sh:

ls /etc/rc*.d | grep upscript.sh

-- по-идее фильтр по имени скрипта должен вернуть столько ссылок, сколько у вас в сумме перечислено номеров уровня запуска в опциях Default-Start и Default-Stop заголовка.

Если по какой-либо причине это не так, исправьте ваш скрипт (особенно обратите внимание на заголовок с перечисляемыми уровнями выполнения) и чтобы заново добавить в автозапуск скрипт выполните две команды:

update-rc.d docker-up.sh remove 
update-rc.d docker-up.sh defaults

-- тут придется явно предварительно удалить все ссылки, иначе новые изменения не применятся.

Источники: