Архив рубрики: BASH scripts

Bash is a Unix shell and command language written by Brian Fox for the GNU Project as a free software replacement for the Bourne shell.

BASH: консольный график использования памяти Java-машиной

10 июля 2014
 

 Задача – сделать консольную утилиту, которая выводила бы информацию аналогично visualvm – Used heap + писать в лог. Для получения данных от Java-машины – используем jmap. Предполагается, что мониторить мы будем Tomcat с заданной переменной CATALINA_PID.

BASH: позиционные и специальные аргументы

15 июня 2014
 

 В BASH shell имеется три типа аргументов – позиционные, специальные и переменные. Тут мы рассмотрим первые два. Позиционные параметры Позиционные аргументы – это аргументы командой строки (или функции в скрипте), доступ к которые осуществляется по номеру. Рассмотрим такой пример: #!/usr/bin/env bash echo $1 $2 $3 И пример его выполнения: [simterm] $ ./param1 one two three… Читать далее »

BASH: функция проверки значения элемента в массиве

4 июня 2014
 

 Имеется несколько системных переменных, наличие которых необходимо проверить перед выполнением определённого скрипта. Предположим, эти переменные – $sysvar1, $sysvar2, $sysvar3 и $sysvar3. Создадим массив, в котором перечислим переменные для проверки: variables=( [1]=$sysvar1 [2]=$sysvar2 [3]=$sysvar3 [4]=$sysvar3 )

BASH: скрипт бекапа с инкрементальным копированием файлов и полным MySQL

3 апреля 2014
 

 Скрипт предназначен для создания резервной копии JIRA, но может использоваться для любых целей. Скрипт создаёт 1 раз в неделю (воскресенье) полную копию файлов (база данных дампится полностью каждый раз), и каждый день – копию файлов, которые были изменены за последние сутки + полную копию базы. Так же – может быть запущен вручную, для создания полной… Читать далее »

BASH: скрипт отката (roll-back) OpenLDAP баз

7 марта 2014
 

 У Oracle для его баз данных имеется замечательный инструмент Flashback. Его задача – восстанавливать базу до определённого состояния. Подобное потребовалось сделать и для LDAP-баз при выполнении автотестов. Решение очень простое, в основном потому, что: а) имена DIT совпадают с определёнными переменными, которые присвоены каждому из BuildAgent-ов TeamCIty; б) пароли для доступа к базам – такие… Читать далее »

BASH: как заменить все заглавные символы на строчные в переменной, и наоборот?

6 марта 2014
 

 Если переменная передаётся ЗАГЛАВНЫМИ буквами, а её необходимо перевести в строчные – можно использовать такой синтаксис (bash v4 и выше): $ var=VAR $ echo $var VAR $ echo ${var,,} var

LDAP + BASH: скрипт резервного копирования и восстановления базы данных LDAP

5 марта 2014
 

 Всё работает на операционной системе: # cat /etc/redhat-release CentOS release 6.5 (Final) LDAP-сервер: # yum list installed | grep openldap openldap.x86_64 2.4.23-34.el6_5.1 openldap-clients.x86_64 2.4.23-34.el6_5.1 openldap-servers.x86_64 2.4.23-34.el6_5.1 Сервер сконфигурирован на использование файла конфигурации slapd.conf, а не базы cn=config. Это имеет значение только для функции dirdel (), в которой задаётся переменная $dirtodel. В скрипте используется функция getopts(),… Читать далее »

bash + MySQL: скрипт домашней бухгалтерии

22 февраля 2014
 

 Хардкорный bash-скрипт для ведения домашней бухгалтерии прямо из консоли 🙂 Пока в нём только “наличные” и, соответственно, только один тип операций – “ввод-вывод” этих самых наличных. Есть желание в будущем добавить несколько типов платежей (наличные, несколько платёжных карт, webmoney) и переписать на Python или Java с нормальным GUI. Основная идея написания скрипта была “не дать… Читать далее »