Следующая новость
Предыдущая новость

Сисадминский must have: 13 утилит, о которых должен знать каждый админ

26.10.2017 13:46
Сисадминский must have: 13 утилит, о которых должен знать каждый админ

Содержание статьи

  • Tmux
  • Tmuxinator
  • Watch
  • Multitail
  • MultiSSH
  • Lsof
  • Tcpdump
  • Ngrep
  • VnStat
  • Iptraf-ng
  • NetHogs
  • Iotop
  • Nmon
  • Одной строкой
  • Вместо заключения

Чемоданчик инструментов — вот что отличает опытного специалиста от новичка. А в вопросах, связанных с администрированием Linux, такой чемоданчик — едва ли не самое важное. В этой статье мы не будем говорить о таких вещах, как Nagios, Puppet, Webmin, или изощренных анализаторах логов Apache — обо всем этом ты должен знать и так. Вместо этого мы поговорим о небольших утилитах, способных сделать твою жизнь намного проще.

Tmux

Начнем c основы основ. Как мы все знаем, главный инструмент администрирования Linux — это SSH-клиент, либо из комплекта OpenSSH, либо обособленный, вроде PuTTY или даже приложения для Android. SSH-клиент позволяет открыть удаленную сессию командной строки и спокойно работать с машиной, которая находится за тысячи километров от тебя. Проблема только в том, что это одна сессия и она не запоминает состояние.

Tmux решает проблему. Это терминальный мультиплексор, который позволяет открыть множество терминалов в рамках одной SSH-сессии с возможностью закрыть соединение, сохранив состояние.

Работает это так. Ты подключаешься к удаленной машине с помощью SSH, затем устанавливаешь на нее tmux и запускаешь его. На экране появляется консоль tmux со строкой состояния внизу и одним запущенным в данный момент терминалом. Ты можешь работать с ним так же, как обычно, плюс у тебя есть возможность открывать новые терминалы с помощью Ctrl+b c и переключаться между ними с помощью Ctrl+b 0..9 или Ctrl+b p (предыдущий), Ctrl+b n (следующий).

Когда работа будет окончена, нажимаешь Ctrl+b d, чтобы отключиться от tmux, и разрываешь соединение с сервером. При следующем подключении ты выполняешь команду

$ tmux attach 

и видишь все открытые ранее терминалы, запущенные в них приложения, историю команд и так далее. Все ровно так, как во время отключения от tmux. Более того, абсолютно неважно, с какой машины ты зашел во второй раз, сессия tmux будет полностью восстановлена.

Tmuxinator

Tmux позволяет не только открывать терминальные окна в полный экран. Он умеет делить экран по вертикали (Ctrl+b %) и горизонтали (Ctrl+b «). Это можно использовать в том числе для создания чего-то наподобие «экрана мониторинга»: например, ты можешь запустить на удаленной машине tmux с тремя открытыми окнами, в одном из которых будет монитор htop, в другом — утилита tail, выводящая последние сообщения из нужного лога, а еще в одном — утилита df, показывающая заполненность файловых систем.

На первый взгляд такой монитор кажется очень удобным, но что, если тебе необходимо закрыть его и запустить tmux с обычными полноэкранными окнами, а затем снова открыть монитор? Это можно реализовать с помощью нескольких различных tmux-сессий. Но это тоже не идеальный вариант, потому что на другом сервере тебе придется настраивать ту же конфигурацию окон заново.

Tmuxinator решает задачу проще. Он позволяет описать нужную раскладку окон и запускаемые в них приложения в конфигурационном файле. Этот конфиг затем можно использовать для быстрого запуска сессии tmux в любом месте в любое время.

Для начала создай новый конфиг:

$ tmuxinator new ИМЯ 

Tmuxinator откроет дефолтовый текстовый редактор, определенный в переменной EDITOR. В конце конфига будут строки, описывающие раскладку окон. Чтобы получить раскладку из примера выше, удали их и добавь следующие строки:

windows:     - editor:         layout: tiled         panes:             - sudo tail -f /var/log/vsftpd.log             - watch df -h             - htop 

Этот конфиг описывает раскладку tmux с одним окном, поделенным на три панели: последние сообщения лога vsftpd, заполненность ФС и htop. Остается только запустить сессию:

$ tmuxinator start ИМЯ 

Все конфиги хранятся в каталоге ~/.tmuxinator, поэтому их легко перемещать между машинами.

Продолжение статьи доступно только подписчикам

Cтатьи из последних выпусков журнала можно покупать отдельно только через два месяца после публикации. Чтобы читать эту статью, необходимо купить подписку.

Подпишись на журнал «Хакер» по выгодной цене!

Подписка позволит тебе в течение указанного срока читать ВСЕ платные материалы сайта, включая эту статью. Мы принимаем оплату банковскими картами, электронными деньгами и переводами со счетов мобильных операторов. Подробнее о подписке

1 год

3200 р.

Экономия 1400 рублей!

1 месяц

490 р.

25-30 статей в месяц

Уже подписан?

Источник

Последние новости