Привет! Сегодня поговорим о том, как писать простые скрипты для Linux, которые делают всю рутину за тебя. Представь: тебе нужно быстро развернуть веб-сервер на чистой машине — Nginx, MySQL, PHP. Вместо того чтобы вручную вбивать десятки команд, можно написать один файл-скрипт и запустить его. И всё само поставится, настроится и заработает.
Что такое bash-скрипт?
Это обычный текстовый файл с расширением .sh, в котором записаны команды, как будто ты их вводишь в терминал. Только всё подряд, одна за другой. Система просто читает этот файл и выполняет команды по порядку.
Пример: установка LEMP-стека (Linux + Nginx + MySQL + PHP)
Создай файл, например, install-lemp.sh:
#!/bin/bash # Обновляем список пакетов apt update -y # Устанавливаем Nginx apt install -y nginx # Устанавливаем MySQL apt install -y mysql-server # Устанавливаем PHP и модули для работы с Nginx apt install -y php-fpm php-mysql # Запускаем и включаем автозапуск служб systemctl start nginx systemctl enable nginx systemctl start mysql systemctl enable mysql systemctl start php8.1-fpm # или php8.2-fpm — смотри версию в системе systemctl enable php8.1-fpm # Простая проверка: создаём тестовый PHP-файл echo "" > /var/www/html/info.php echo "Готово! Открой в браузере http://твой_сервер/info.php"
Как запустить скрипт?
- Сохрани файл на сервере, например:
install-lemp.sh - Сделай его исполняемым:
chmod +x install-lemp.sh - Запусти:
sudo ./install-lemp.sh
Всё! Через пару минут у тебя будет рабочий веб-сервер с PHP и базой данных.
Полезные советы
- В начале скрипта всегда указывай
#!/bin/bash— это "шебанг", он говорит системе, какой интерпретатор использовать. - Флаг
-yв командахapt installавтоматически отвечает "да" на все вопросы — без него скрипт может зависнуть в ожидании ввода. - Если хочешь, чтобы скрипт работал только от root — добавь проверку:
if [ "$EUID" -ne 0 ]; then echo "Запускай от root (или через sudo)" exit fi - Можно добавить логирование: перенаправляй вывод в файл, например:
./install-lemp.sh > install.log 2>&1
А дальше?
Такие скрипты — основа автоматизации. Ты можешь:
- Добавить настройку файрвола (
ufw) - Создать базу данных и пользователя в MySQL через SQL-запросы
- Скопировать свои PHP-файлы из репозитория
- Настроить SSL через Certbot
И да — не бойся экспериментировать. Главное: тестируй скрипты на виртуалке или в контейнере, чтобы не сломать боевой сервер.
Заключение
Скрипты в Linux — это как макросы в Excel, только для всей системы. Один раз написал — и можешь клонировать целую инфраструктуру на десятки машин. А если добавить Git и пару условий — получится почти CI/CD :)
Пиши в комменты, какие скрипты хочешь видеть дальше: настройка Majordomo, развёртывание IoT-панели, или, может, автоматическая прошивка ESP32 через OTA?
Комментарии
Пока нет комментариев. Будьте первым!