четверг, 30 июня 2016 г.

Пример выполнения команды по всем linux серверам

Пример подсоединения к серверам и выполнения на каждом из них команды ls /home:


for servername in username@127.0.0.1 username@127.0.0.2; do echo "Run command on $servername"; ssh $servername  ls /home; done

Пример подсоединения к серверам и копирования на них файла или директории с помощью команды scp:

for servername in username@127.0.0.1 username@127.0.0.2; do echo "Run command on $servername"; scp file_for_copy.txt $servername
:~/; done

вторник, 28 июня 2016 г.

Распаралеливание stdout и stderr в разные потоки с помощь утилиты tee


Пример запуска скрипта с последующим сохранением stdout и sderr в разные файлы логов:

./you_script.sh  > >(tee -a you_script_out.log) 2> >(tee -a you_script_error.log >&2)
 

Tmux - краткое описание менеджера терминалов

Tmux -  это утилита-мультиплексор, которая может стать следующим решением после утилиты screen. Tmux имеет ряд приемуществ(например возможность разделить экран по вертикали и горизонтали) а также более удобную навигацию.


Список команд:
tmux new -s  Your-Session-Name - создать новую сессию
Ctrl + b + d - отсоеденится от текущей сесии выход без закрытия сессии)
tmux ls или  tmux list-sessions - list exists sessions
tmux attach -t Your-Session-Name - Подключится к ранее созданной сессии
Ctrl + b + C - Создать новое окно
Ctrl + b + , -  Переименоватть окно
Ctrl + b + n - Переключится на следующее окно
Ctrl + b + p - Переключится на предыдущее окно
Ctrl + b + w - Меню с навигацией для переключения между созданными окнами
Ctrl + b + %  - Разделить текущее окно вертикально
Ctrl + b + "  Разделить текущее окно горизонтально
Ctrl+b →←↑↓ — переходить между панелями, как альтернатива можно использовать следующую комбинацию:
Ctrl + b + q - Переход между панелями(Показывает номер панели, после чего при нажатии соответсвующей цифры, вас  переключит в нужную панель)
Ctrl + b + z - увеличить на весь экран текущую панель(Для выхода повторите эту же комбинацию )
Ctrl+b & — закрыть окно (это же можно сделать набрав exit в терминале).
Ctrl+b x — закрыть панель (это же можно сделать набрав exit в терминале).
Скроллинг:
Ctrl+b PgUp или  Ctrl + b + [- вход в «режим копирования», после чего: PgUp, PgDown — скроллинг; q — выход из «режима копирования».

Полезные ссылки:

среда, 11 мая 2016 г.

Как исправить ошибку Error java.lang.OutOfMemoryError: PermGen space при сборке пакета MAVEN



При запуске команды mvn package может возникнуть следующая ошибка "Error java.lang.OutOfMemoryError: PermGen space"

Суть в том, что для работы maven-a недостаточно выделено памяти по умолчанию. Увеличиваем объём доступной памяти следующим образом:

which mvn
vim /usr/local/maven/bin/mvn
export MAVEN_OPTS=”-Xmx512m”

среда, 17 февраля 2016 г.

Цветная консоль в linux

Для того чтобы сделать консоль при работе с linux цветной, стоит добавить в файл ~/.bashrc следующие строки:
export PS1='\[\033[01;31m\]\u\[\033[01;33m\]@\[\033[01;36m\]\H \[\033[01;33m\]\w \[\033[01;35m\]\$ \[\033[00m\]'

eval "`dircolors`"

export LS_OPTIONS='--color=auto -h' 

Как установить Maven на CentOS

Apache Maven является менеджером  для сборки Java проекта. Сюда входит компиляция, создание jar, генерация документации и т.д. Для установки Maven-a на CentOS нужно выполнить следующие шаги:

Для начала нужно убедится, что у Вас стоит Java 1.7 JDK. Пожалуйста убедитесь, что у Вас установлена Java JDK, не JRE.

Далее скачайте последнюю версию Maven-a с официального сайта.

Вот пример команд для версии 3.3.9:
cd /usr/local/src/

wget http://apache.volia.net/maven/maven-3/3.3.9/binaries/apache-maven-3.3.9-bin.tar.gz
tar -xzvf apache-maven-3.3.9-bin.tar.gz

ln -s /usr/local/src/apache-maven-3.3.9 /usr/local/maven

Далее нужно указать путь к Мaven-у в системных переменных:
touch /etc/profile.d/maven.sh

vim /etc/profile.d/maven.sh 

export M2_HOME=/usr/local/maven
export PATH=${M2_HOME}/bin:${PATH}

После выполнения этих действий просто выйдите и зайдите под нужным пользователем на сервере. Это активирует новые настройки окружения для этого пользователя.
Для проверки успешной установки Maven-a, проверьте версию maven-a:
mvn -version

Для использования proxy сервера в настройках maven-a нужно указать следующие настройки:
vim ~/.m2/settings.xml

<settings>
  <proxies>
    <proxy>
      <active>true</active>
      <protocol>http</protocol>
      <host>proxy.host.com</host>
      <port>port_number</port>
      <username>proxy_user</username>
      <password>proxy_user_password</password>
      <nonProxyHosts>www.google.com</nonProxyHosts>
    </proxy>
  </proxies>
</settings>


Полезные ссылки:
maven official site