Назад | Перейти на главную страницу

Рекомендации по созданию сценариев Bash, совместимых с SysV или Upstart

Я только что выбил быстрый скрипт для синхронизации подчиненного веб-сервера с главным с помощью rsync. (https://github.com/simonjgreen/liveFolderSync/blob/master/liveFolderSync.sh)

Я бы хотел, чтобы это запускалось при загрузке и им можно было управлять с помощью обычных /etc/init.d / ... или служебных команд, однако это область, в которую я всегда падал. Я нахожу оба сценария init.d и сценарии-выскочки, ужасно запутанные, и нигде не могу найти руководства, чтобы начать с нуля.

Единственный контроль, который я хотел бы иметь над этим, - это запуск / остановка / перезапуск. Очевидно, позже я перенесу конфигурацию в отдельный файл в / etc, но это уже есть на картах, поэтому выходит за рамки этого вопроса.

Любые указатели / советы и лучшие практики будут полезны. Я должен добавить, что делаю это на Ubuntu.

Вы можете скопировать один из существующих файлов в /etc/init.d/ папку и настройте ее, чтобы вместо этого запускал ваш скрипт. Эти файлы обычно делают следующее:

1- Проверьте наличие некоторых файлов конфигурации и двоичных файлов.

2- Включите некоторые функции инициализации.

3- Проверьте параметр «действие»: запустить, остановить, перезапустить и выполнить соответствующее действие с помощью case структура.

4- Комментарии в начале этих файлов запуска важны, поскольку они описывают, как они запускаются, и необходимые уровни запуска.

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