Архив рубрики: Scripting/coding

HowTo и примеры использования bash, C, Python, Ruby и т.д.

C: сокеты и пример модели client-server

16 мая 2017
 

 Перевод с дополнениями. Оригинал — тут>>>. Как правило — два процесса общаются друг с другом с помощью одного из Inter Process Communication (IPC) механизма ядра, таких как: pipe очереди сообщений (Message queues) общая память (shared memory) Кроме перечисленных IPC — в ядре присутствует много других возможностей, но что если процессам необходимо обмениваться данными по сети?… Читать далее »

PowerShell: под Arch Linux — Hello, World

7 мая 2017
 

 Как тут не вспомнить пост Azure: почему никогда, поводом для которого послужил пост на Хабре — Microsoft открыла исходный код PowerShell? Собственно — на Ажуре часто сталкивался с тем, что многие вещи проще и удобнее было бы сделать через PowerShell. Останавливало то, что во-первых — я не собираюсь им особенно пользоваться в будущем, а во-вторых — отсутствие… Читать далее »

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

What is: Infrastructure as Code

8 марта 2017
 

 Одним из наиболее важных трендов в IT за последние годы стало бурное развитие автоматизации и одновременно — уменьшение  необходимости во вмешательстве человека и выполнении каких-либо действий. Виртуализация дала нам возможность развёртывания новых окружений для девелоперов, в которых они могли бы делать их работу без опасений затронуть Production-систему, а гипервизоры, такие как Hyper-V или VMWare позволяют… Читать далее »

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 …

AWS: AWS CLI и bash — blue/green деплой AutoScale группы за ELB

6 января 2017
 

 Имеется достаточно интересная ифраструктура одного проекта (UPD: описана в посте AWS: билд Java + Maven + Docker + Packer + Terraform), в котором деплой API-приложения выполняется скриптом, описанным ниже. Его задача — запустить EC2 инстансы, объединённые в blue AutoScale группу, подключить её к Elastic Load Balancer-у (ELB), отключить от ELB green-группу, перезапустить в ней инстансы,… Читать далее »

Arch: установка Oracle Java и PyCharm

23 декабря 2016
 

 Обновляем систему: # pacman -Syyu Установка Oracle Java Пакеты можно найти тут>>>, или поискав через yaourt: $ yaourt jdk 1 extra/jdk7-openjdk 7.u111_2.6.7-1 OpenJDK Java 7 development kit 2 extra/jdk8-openjdk 8.u112-1 OpenJDK Java 8 development kit 3 extra/jre7-openjdk 7.u111_2.6.7-1 OpenJDK Java 7 full runtime environment 4 extra/jre7-openjdk-headless 7.u111_2.6.7-1 … 21 aur/jdk 8u112-1 (729) (13.00)                                                                                                                                                                                                                                                     Oracle… Читать далее »

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

2 декабря 2016
 

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

BASH: массивы, пример — скрипт получения логов из Docker-контейнеров

18 ноября 2016
 

 Есть приложение, которое включает в себя 5 Docker-контейнеров. Для наблюдения за логами используется Loggly, но мне он жутко неудобен — в консоли логи удобнее смотреть и грепать. Запущенное приложение выглядит так: ubuntu@ip-10-5-3-54:~$ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 63937e07a5cf tag-docker.jfrog.io/api-gateway:staging-test-eureka-cloud-versioning-124 «java -Djava.security» 30 minutes ago Up 30 minutes 0.0.0.0:8080->8080/tcp peaceful_blackwell cbf2394197bc… Читать далее »

wttr.in — прогноз погоды из консоли

14 сентября 2016
 

 Очень удобный ресурс для быстрой проверки прогноза погоды. Доступен как из браузера — так и из консоли, через curl. Написан на Python, есть возможность установки и запуска на своём сервере. Репозиторий автора — тут>>>. В URI («аргументом») можно передать имя города, например: $ curl wttr.in/Kiev