Category Archives: BASH scripts

Примеры скриптов на bash, описание работы с интерпретатором.

BASH: скрипт бекапа /home с уведомлениями

12 October 2018
 

 Задача – написать скрипт для домашней машинки, что бы создавать бекапы по расписанию используя rsync, с уведомлениями на почту и в трее. Бекапы хранятся на отдельном жестком диске. Описание настройки отправки почты пользователю есть в посте Arch Linux: ssmtp – отправка локальной почты. Ниже – процесс написания такого скрипта с примерами функций. Сам скрипт доступен в… Read More »

AWS: миграция RTFM 3.0 (final) – CloudFormation и Ansible роли

25 August 2018
 

 Прошёл почти год, как я начал миграцию v2, закончил на посте Ansible: миграция RTFM 2.11 – хост Services – установка PHP, PHP-FPM. Основной её идеей на тот момент было максимально использовать возможности AWS и Ansible – чисто из интереса и для практики, т.к. на предыдущем месте работы её было совсем мало (там в основном был Azure… Read More »

AWS: создание стека в AWS – bash-скрипт и CloudFormation шаблон

10 May 2018
 

 Задача – развернуть мониторинг Prometehus + Grafana в AWS (в противоположность Azure на предыдущем проекте…). Весь стек будет состоять из одного EC2, на котором будет NGINX + Prometheus + Grafana. Из экспортёров на хосте мониторинга будут node_exporter и blackbox_exporter, скорее всего ещё mysql_exporter – собирать метрики с MariaDB бекенда нашего приложения, и какие-то ещё. Но это… Read More »

BASH: скрипт создания AWS CloudFormation стека

1 February 2018
 

 На одном из проектов создавался CloudFormation шаблон для RDS (см. пример тут>>>). Что бы упростить создание и обновление стека разработчиками – набросал небольшой скрипт. Скрипт выполняет: валидацию файла шаблона проверит требуется ли создать, или обновить стек запросит подтверждение перед созданием выполнит create-stack или update-stack Чать параметров используется из файла шаблона или переменных скрипта, дефолтные, часть… Read More »

bash: проверка статуса Spamassassin

28 January 2018
 

 На почтовом сервере начал падать Spamassassin. Сервер старый, причину на ночь глядя искать откровенно лень (думаю, падает во время выполнения /usr/bin/sa-learn в cron-задаче – по времени прихода уведомлений будет яснее), да и почта будет скоро переезжать на сервер в AWS, поближе к RTFM (сейчас работает на VPS в ДЦ Воля-Кабель), потому добавлю скрипт для быстрого “фикса”. Суть… Read More »

Jenkins: миграция RTFM 2.4 – Jenkins Pipeline для CloudFormation RTFM стека

14 October 2017
 

 Продолжение сетапа инфрастуктуры для блога. Решил добавить в заголовки “версию” каждого поста, в данном случае – миграция RTFM 2.4. Тут мажорная версия “2” – потому что год тому уже что-то подобное начинал делать (AWS: миграция RTFM, часть #1: ручное создание инфраструктуры – VPC, подсети, IGW, NAT GW, маршруты и EC2), а минорная “4” – четвёртый пост… Read More »

AWS: IAM и bash скрипт бекапа MySQL/MariaDB баз в AWS S3

13 October 2017
 

 Задача – набросать скрипт для создания бекапов всех баз сервера БД и сохранять их в корзину. В общем – всё просто: бекапы делаем с помощью mysqldump, в S3 корзину пушим с помощью AWS CLI. Далее: создаём корзину для бекапов создаём пользователя с read-write политикой для доступа к этой корзине и сам скрипт Для простоты –… Read More »

Ansible: миграция RTFM 2.2 – RTFM Jenkins provision

8 October 2017
 

 Продолжение сетапа Jenkins для RTFM. Начало – AWS: CloudFormation для EC2 c Jenkins. Для того, что бы развернуть Jenkins на EC2 в созданном стеке – потребуются: Docker для запуска самого Jenkins docker-compose файл для запуска Jenkins и подключения разделов Т.к. CI для развёртывания CI не будет 🙂 – то добавлю скрипт, который будет запускать создание стека а… Read More »

Arch Linux: уведомления в Openbox с libnotify

23 August 2017
 

 Надо добавить всплывающее окошко, которое бы по крону выводило какой-то текст на экран. Используем libnofity, выполняем на Arch Linux (хотя принципиальной разницы нет – хоть на Убунте). Документация самого libnotify – тут>>>.

Travis: деплой конфигов NGINX в Azure File share

7 August 2017
 

 Имеется ресурс группа, которая включает в себя один Azure Load Balancer, за котором находится Azure VMSS с двумя виртуальными машинами. На машинах работает NGINX, который использует файлы настроек виртуалхостов, которые хранятся в файл-шаре, которая монтируется к обеим машинам. Полное описание проекта – Azure: VMSS за Load Balancer, renew SSL от Let’s Encrypt, SMB file share и NGINX-proxy.… Read More »