Немного о Shell и автономности скриптов.

Здравствуйте.

Системы Linux, очень перспективный и активно используются в серверной части. Их применение в настоящий момент очень широкое, от развертывания локальных баз данных до облачных систем.

О том - как развернуть конкретный сервер, литературы довольно много. При этом важно учитывать, какой пакетный менеджер используется в конкретной операционной системы (например: apt или yum). И версия ОС, определяющая архитектуру ядра.

Команды в терминале сервера, можно выполнить копипастом, конфигурационные файлы исправить в ручную и начать работу с нужным функционалом сервера.

Но есть ньюанс, если это один сервер. А если их десятки или сотни?

  • Это займёт много времени.
  • При настройке, скорее всего будут допущены ошибки.
  • Поиск и исправление ошибок, отдельная тема.

Как этого избежать?

1. Использовать системы аркетстрации, например Ansible. Возможно это лучший выход, но его изучение может занять немало времени. Кроме того, для его развертывания нужны дополнительные ресурсы.

2. Если нужно универсальное решение, можно написать скрипт  Shell, автоматизировав процесс установки.

Какие плюсы это даст:

  • Полная автономность. (с помощью скрипта, можно не просто установить нужный сервер со всеми зависимостями, переписать все необходимые конфигурационные файлы и настроить сообщения о успешной настройке сервера.)
  • При написании скрипта и тестировании, проверять корректность его выполнения. А в случае ошибок, понимать на каком этапе они возникли и исправлять их.
  • Полный контроль всех этапов установки.
  • После написания нужного скрипта и его тщательного тестирования, можно использовать на аналогичных серверах с полной уверенностью что все будет настроено и работать так как запланировано.

Какие минусы:

  • Процесс написания скрипта, может быть довольно сложным. (Но оно того стоит, если серверов на которых его нужно развернуть много!)

Один из таковых: 👇

https://github.com/gshaposhnikov/Zabbix_4.0_Ubuntu_18.04

Этому скрипту более 7 лет. Он выполняет полную установку и настройку, Zabbix сервера 4.0. Переписывает конфигурационные файлы, с логированием того что выполняется на каждом этапе. И выводом итогового результата выполнения.

❕ Скрипт протестирован и отлажен на ос Ubuntu 18.04. Для более новых и старых систем, скорее всего потребуется его отладка.❕

Немного о Shell и автономности скриптов. | Сетка — социальная сеть от hh.ru