Архив метки: bash

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

12 октября 2018
 

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

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

10 мая 2018
 

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

MySQL/MariaDB: команды shell из консоли MySQL-клиента

19 марта 2018
 

 MySQL CLI позволяет быстро выполнять команды из консоли с bash или другим shell, загружать sql-скрипты и так далее. Очень удобно, что бы не выходить из MySQL, если надо быстро выполнить команду. Например – выполнить команды ls из консоли MySQL: [simterm] admin@ip-172-31-64-60:~$ mysql -u root -p Enter password: Welcome to the MariaDB monitor. Commands end with… Читать далее »

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

1 февраля 2018
 

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

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

28 января 2018
 

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

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

13 октября 2017
 

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

Azure: CDN, NodeJS, Docker Swarm и Blue-Green деплой

24 апреля 2017
 

 Имеется проект на Azure, которым я занимался большую часть последнего года (с 20-го марта 2016). Пост Azure: почему никогда писался под впечатлением работы как раз на нём (да и большая часть рубрики Azure – тоже).

Bash – скрипт удаления образов с Docker Swarm нод

21 апреля 2017
 

 Имеется Docker Swarm: $ docker node ls ID HOSTNAME STATUS AVAILABILITY MANAGER STATUS h8p0sed4q6n6yyheq3wbxum2r fgvwm46c3b5uk000001 Ready Active oaphqh0i6f8kc013fy5goi37u fgvwm46c3b5uk000002 Ready Active qgj0un2g0jsqhhr0izd9fyn0d fgvwm46c3b5uk000000 Ready Active so01pmq9sdl9s34uq1m419m7z * fgvwm46c3b5uk000000 Ready Drain Leader

Linux: [[: not found

17 февраля 2017
 

 Во время Jenkins-билда – скрипт деплоя возвращает ошибку: … [jm-cms-transform-layer-build] Running shell script + [[ -d config ]] /var/jenkins_home/workspace/jm-cms-transform-layer-build@tmp/durable-6569c8ce/script.sh: 2: /var/jenkins_home/workspace/jm-cms-transform-layer-build@tmp/durable-6569c8ce/script.sh: [[: not found …

bash: скрипт генерации файлов конфигурации для NGINX

2 декабря 2016
 

 Имеется WebApp в Azure. В нему подключены 85 доменов. Задача – для каждого из подключенных доменов сгенерировать файлы настроек для NGINX, который будет проксировать запросы к этмоу WebApp. Список подключенных доменов получется с помощью Azure CLI – azure webapp show. Задача усложняется тем, что некоторые домены подключены к WebApp с www, а некоторые – без.… Читать далее »