Автоматизация
Скрипт — это те же команды из терминала, записанные в файл, чтобы не набирать их каждый раз. Программистом становиться не нужно: сисадминский bash — склейка готовых команд. Напишем первый полезный скрипт прямо здесь.
Задача из жизни: каждый вечер складывать архив каталога с датой в имени. Руками это две команды и память о том, что их надо выполнить. Скриптом — ноль усилий навсегда:
#!/bin/bash # backup.sh — архив каталога с датой в имени ISTOCHNIK="/var/www" KUDA="/backup" DATA=$(date +%F) mkdir -p "$KUDA" tar -czf "$KUDA/www-$DATA.tar.gz" "$ISTOCHNIK" echo "Готово: $KUDA/www-$DATA.tar.gz"
chmod +x backup.sh # разрешить запуск ./backup.sh # выполнить
Здесь уже есть половина bash: переменные, подстановка вывода команды через $(…) и кавычки вокруг путей (привычка, спасающая от пробелов в именах).
Настоящая автоматизация начинается со слова «если». Например, ругаться, когда место на диске кончается:
#!/bin/bash # disk-check.sh — тревога при заполнении диска выше 85% ZANYATO=$(df / --output=pcent | tail -1 | tr -dc '0-9') if [ "$ZANYATO" -gt 85 ]; then echo "Диск / заполнен на $ZANYATO%" | mail -s "Место кончается" admin@firma.ru fi
crontab -e # открыть расписание своих задач # минуты часы день месяц день-недели команда: 0 23 * * * /home/admin/backup.sh # бэкап каждый день в 23:00 */10 * * * * /home/admin/disk-check.sh # проверка диска раз в 10 минут
Связка «скрипт плюс cron» и есть базовая автоматизация, которую ждут от админа: бэкапы, проверки, чистка старых логов делаются сами, а не по памяти.
На курсе Linux с нуля скрипты появляются там, где им место: после освоения системы, на реальных задачах стенда, с проверкой преподавателем.
{ Освоить Linux и bash системно }Bash первым: он уже стоит на каждом сервере и склеивает готовые команды. Python — вторым шагом, когда скрипты вырастут до работы с API и данными. Это не выбор, а очередь.
Читать чужой простой скрипт и объяснить, что он делает, — да, регулярно. Писать с листа сложное — нет. Два своих скрипта в резюме закрывают вопрос; остальные вопросы разобраны в статье о собеседовании.
На виртуальной машине: сломал — откатил снимком. Как собрать такой полигон, разобрано в статье о практике.
ИП Апалин Владимир Александрович
ИНН 470517286143
ОГРНИП 323784700274393
Оставьте контакты — перезвоним и ответим.
Заявка отправлена. Скоро свяжемся.