Архив рубрики: Публикации

Команда watch Linux

Иногда возникает необходимость запускать ту или иную команду несколько раз. К примеру, если были замечены неполадки в работе сервера и есть основания полагать, что их причина кроется в использовании памяти либо выполнении операций ввода и вывода. Также это может понадобиться для отслеживания изменений в каталогах. Во всех этих и других случаях на помощь придет команда watch.




По умолчанию команда watch linux включена почти во все дистрибутивы Linux. Ее задача — запускать указанную пользователем команду через определенные промежутки времени и печатать вывод этой команды в окне терминала. Работу watch можно сравнить с работой tail, с той лишь разницей, что источником вывода является не файл журнала, а другая команда.




СИНТАКСИС И ОПЦИИ




Синтаксис команды watch крайне прост:




watch опции команда_для_вывода




Перечень опций невелик, но их достаточно для эффективного использования команды:




  • -d (—differences) — служит для выделения тех данных в выводе команды, которые отличаются от предыдущих.
  • -n (—interval seconds) — позволяет установить желаемый интервал запуска команды.
  • -t (—no-title) — выключает отображение заголовков.
  • -b (—beep) — если при выполнении команды возникнет ошибка, будет подан звуковой сигнал.
  • -e (—errexit) — при возникновении ошибки вывод данных будет заморожен, команда watch прекратит работу после нажатия комбинации клавиш.
  • -g (—chgexit) — выход при условии, что в выводе команды обнаружатся изменения.
  • -c (—color) — интерпретирует последовательность цветов и стилей ANSI.
  • -x (—exec) — выполнение команды будет передано интерпретатору sh -c поэтому, возможно, вам придется использовать дополнительные кавычки чтобы добиться желаемого эффекта. При использовании полной версии написания (—exec) команда будет выполняться в с помощью утилиты exec.




ПРИМЕРЫ ИСПОЛЬЗОВАНИЯ WATCH




Проще всего продемонстрировать работу команды watch, наблюдая за тем, как компьютер использует оперативную память:




watch free -m







В данном случае не были использованы опции команды watch, зато к выполняемой команде free пришлось добавить параметр -m, который отвечает за отображение свободной памяти RAM. Так тоже можно и нужно делать, чтобы получить искомый результат.




Чтобы не запоминать каким был предыдущий результат вывода и не отслеживать изменения самостоятельно, стоит поручить эту работу опции -d. Она подсвечивает ту информацию, которая отличается от предыдущей:




watch -d date







На каждом из скриншотов в верхней строке есть надпись «Every 2,0s». Она означает, что программа перезапускается каждые 2 секунды. Этот интервал установлен по умолчанию, но его можно изменить, используя опцию -n.




watch -n5 -d 'cat /proc/loadavg'







Обратите внимание на то, что значение -n не может быть меньше 1. Верхняя планка не ограничена.




Если возникла необходимость получить на экране терминала больше места для полезных данных, можно убрать заглавную информацию. Для этого предназначена опция -t.




watch -t df







Интервал обновления, опции команды и текущая дата больше не отображаются.




Что касается выхода из утилиты watch, то он осуществляется при нажатии клавиш Ctrl+C или Ctrl+Z. Пока пользователь не воспользуется одной из этих комбинаций, команда будет выполняться с заданными параметрами.




ВЫВОДЫ




Команда watch linux — это простой и эффективный инструмент для всех, кто занимается администрированием серверов. Впрочем, и обычные пользователи могут найти ей применение. Если у вас возникли вопросы относительно использования watch на компьютерах с установленной операционной системой Linux, задавайте их в комментариях.



2021-03-10T23:39:39
Утилиты командной строки

Команда tail Linux

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




Для этого можно использовать команду tail, она позволяет выводить заданное количество строк с конца файла, а также выводить новые строки в интерактивном режиме. В этой статье будет рассмотрена команда tail Linux.




КОМАНДА TAIL В LINUX




Перед тем как мы будем рассматривать примеры tail linux, давайте разберем ее синтаксис и опции. А синтаксис очень прост:




$ tail опции файл




По умолчанию утилита выводит десять последних строк из файла, но ее поведение можно настроить с помощью опций:




  • -c — выводить указанное количество байт с конца файла;
  • -f — обновлять информацию по мере появления новых строк в файле;
  • -n — выводить указанное количество строк из конца файла;
  • —pid — используется с опцией -f, позволяет завершить работу утилиты, когда завершится указанный процесс;
  • -q — не выводить имена файлов;
  • —retry — повторять попытки открыть файл, если он недоступен;
  • -v — выводить подробную информацию о файле;




В качестве значения параметра -c можно использовать число с приставкой b, kB, K, MB, M, GB, G T, P, E, Z, Y. Еще есть одно замечание по поводу имен файлов. По умолчанию утилита не отслеживает изменение имен, но вы можете указать что нужно отслеживать файл по дескриптору, подробнее в примерах.




ИСПОЛЬЗОВАНИЕ TAIL




Теперь, когда вы знаете основные опции, рассмотрим приемы работы с утилитой. Самый простой пример — выводим последние десять строк файла:




tail /var/log/syslog







Если вам недостаточно 10 строк и нужно намного больше, то вы можете увеличить этот параметр с помощью опции -n:




tail -n 100 /var/log/syslog







Когда вы хотите отслеживать появление новых строк в файле, добавьте опцию -f:




tail -f /var/log/syslog







Вы можете открыть несколько файлов одновременно, просто перечислив их в параметрах:




tail /var/log/syslog /var/log/Xorg.0.log







С помощью опции -s вы можете задать частоту обновления файла. По умолчанию данные обновляются раз в секунду, но вы можете настроить, например, обновление раз в пять секунд:




tail -f -s 5 /var/log/syslog







При открытии нескольких файлов будет выводиться имя файла перед участком кода. Если вы хотите убрать этот заголовок, добавьте опцию -q:




tail -q var/log/syslog /var/log/Xorg.0.log







Если вас интересует не число строк, а именно число байт, то вы можете их указать с помощью опции -c:




tail -c 500 /var/log/syslog







Для удобства, вы можете выбирать не все строки, а отфильтровать интересующие вас:




tail -f /var/log/syslog | grep err







Особенно, это полезно при анализе логов веб сервера или поиске ошибок в реальном времени. Если файл не открывается, вы можете использовать опцию retry чтобы повторять попытки:




tail -f --retry /var/log/syslog | grep err




Как я говорил в начале статьи, по умолчанию опция -f или —follow отслеживает файл по его имени, но вы можете включить режим отслеживания по дескриптору файла, тогда даже если имя измениться, вы будете получать всю информацию:




tail --follow=descriptor /var/log/syslog | grep err







ВЫВОДЫ




В этой статье была рассмотрена команда tail linux. С помощью нее очень удобно анализировать логи различных служб, а также искать в них ошибки. Надеюсь, эта информация была полезной для вас.




Источник: https://losst.ru/komanda-tail-linux



2021-03-10T23:37:18
Утилиты командной строки

Шпаргалка по tmux

Tmux — это терминальный мультиплексор или иными словами, вы можете в одном терминале запустить несколько терминальных сессий и переключаться между ними или даже разместить их в одном окне, а также отключиться от сессии оставив её работать в фоне, а затем вернуться и посмотреть результат, это может быть очень удобно при работе по SSH. Если вы раньше пользовались утилитой screen, то tmux — это её аналог, который имеет намного больше функций.




Эта статья — небольшая шпаргалка по Tmux, в которой мы разберем установку программы, основные её возможности и команды, а также некоторые приемы использования. После прочтения статьи вы сможете полноценно пользоваться утилитой.




УСТАНОВКА TMUX




Здесь все просто. Для установки программы в Ubuntu выполните следующую команду:




sudo apt install tmux







А для установки в CentOS:




sudo yum install tmux




СИНТАКСИС И ОПЦИИ КОМАНДЫ TMUX




Синтаксис команды предельно простой, для создания новой сессии достаточно запустить утилиту без параметров. Для подключения к уже существующей придется использовать дополнительные опции. Вот основной синтаксис:




tmux команда опции




Что касается опций, то в большинстве вам придется использовать только две — это -t (target) — которая указывает цель, к которой будет применяться команда, например, идентификатор сессии или подключенного клиента, а также -s (session) — который обычно используется для обозначения источника, над которым будет выполняться действие.




Команды tmux для управления сессиями, которые вы можете использовать:




  • attach-session (attach) — подключиться к уже существующей сессии. В параметре необходимо передать опцию -t и идентификатор сессии;
  • detach-session (detach) — отключить всех клиентов (или переданного с помощью опции -t) от сессии, переданной в опции -s;
  • has-session — проверить существует ли сессия, аналогично, надо передать идентификатор сессии;
  • kill-server — остановить все запущенные сессии;
  • kill-session — завершить сессию переданную в параметре -t;
  • list-clients — посмотреть клиентов, подключенных к сессии -t;
  • list-sessions (ls) — вывести список всех запущенных сессий;
  • new-session — создать новую сессию, можно передать имя сессии в опции -s и стартовую директорию в опции -c;
  • rename-session — переименовать сессию, нужно передать идентификатор сессии и новое имя;




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




По умолчанию для активации сочетания клавиш нужно нажать Ctrl+B, отпустить, а потом нажать нужную клавишу. Вот основные сочетания клавиш tmux, которые вам понадобятся:




  • Ctrl+b c — создать новое окно;
  • Ctrl+b w — выбрать окно из списка;
  • Ctrl+b 0-9 — открыть окно по его номеру;
  • Ctrl+b , — переименовать текущее окно;
  • Ctrl+b % — разделить текущую панель по горизонтали;
  • Ctrl+b « — разделить текущую панель по вертикали;
  • Ctrl+b стрелка — перейти на панель, находящуюся в стороне, куда указывает стрелка;
  • Ctrl+b Ctrl+стрелка — изменить размер текущей панели;
  • Ctrl+b o — перейти на следующую панель;
  • Ctrl+b ; — переключаться между текущей и предыдущей панелью;
  • Ctrl+b x — закрыть текущую панель;
  • Ctrl+b [ — войти в режим копирования (подробнее ниже);
  • Ctrl+b ] — вставить из внутреннего буфера обмена tmux;
  • Ctrl+b d — отключится от текущей сессии;
  • Ctrl+b : — открыть командную строку.




Для начала работы этих горячих клавиш будет достаточно. Шпаргалка tmux завершена, теперь перейдем к примерам работы с программой.




КАК ПОЛЬЗОВАТЬСЯ TMUX




1. СОЗДАНИЕ СЕССИИ




Чтобы создать новую сессию достаточно выполнить команду без параметров:




tmux




Также можно создать сессию командой new-session и задать ей удобное имя:




tmux new-session -s losst







2. РАЗДЕЛЕНИЕ ОКНА НА ПАНЕЛИ




Окно сессии можно разделить на несколько панелей. Чтобы выполнить разделение по горизонтали нажмите Ctrl+b отпустите, а затем нажмите Shift+»:







Аналогично можно разделить панель по вертикали, нажав Ctrl+b, а затем Shift+%:







Размер активной панели можно менять нажав Ctrl+b, а потом Ctrl и стрелка:







А для переключения между панелями используйте клавиши Ctrl+b и стрелка. Сначала не привычно, но потом удобно.




3. ПОДДЕРЖКА МЫШКИ




По умолчанию поддержка мышки отключена, но если вы работаете в графическом окружении, вы можете её включить. Это даст несколько преимуществ: вы сможете выбирать активную панель мышкой, копировать текст во внутренний буфер обмена, менять размер панелей, использовать прокрутку для просмотра истории вывода и так далее. Для этого откройте файл ~/.tmux.conf и добавьте туда следующие строки:




nano ~/.tmux.conf




set-option -g -q mouse on

bind-key -T root WheelUpPane if-shell -F -t = "#{alternate_on}" "send-keys -M" "select-pane -t =; copy-mode -e; send-keys -M"

bind-key -T root WheelDownPane if-shell -F -t = "#{alternate_on}" "send-keys -M" "select-pane -t =; send-keys -M"







Сохраните изменения, нажмите Ctrl+b :, а потом выполните такую команду чтобы перезагрузить tmux:




source ~/.tmux.conf







Настройка tmux завершена, теперь мышь будет работать.




4. КОПИРОВАНИЕ И ВСТАВКА




Одна из достаточно важных операций при работе с терминалом — это возможность что-то скопировать и куда-то перенести. После активации поддержки мышки вы можете просто выделить участок текста мышкой и он автоматически скопируется во внутренний буфер tmux.







Если вы хотите иметь возможность скопировать в системный буфер обмена, перед тем как выполнять действия мышкой зажмите Shift:







Кроме того, в tmux есть управление копированием и вставкой с помощью клавиш. Для перехода в режим копирования нажмите Ctrl+B [, затем переместите курсор к нужному месту с помощью стрелок. Кстати, этот режим можно использовать также для прокрутки. Потом нажмите Ctrl+пробел для начала выделения, выделите нужный фрагмент стрелками и нажмите Ctrl+w для копирования.







Чтобы вставить текст из внутреннего буфера обмена нужно нажать сочетание клавиш Ctrl+b ]. Для выхода из режима копирования используйте q или Esc.




5. ОКНА TMUX




Кроме панелей в tmux можно открывать окна. Это аналог рабочих столов в Linux. Каждое окно привязано к определенной цифровой кнопке и имеет свой набор панелей. Для создания нового окна нажмите Ctrl+b c:







Список окон выводится внизу окна терминала. Для переключения на нужное окно нажмите Ctrl+b и номер окна.




6. ОТКЛЮЧЕНИЕ ОТ СЕССИИ




Чтобы отключиться от текущей сессии достаточно нажать сочетание клавиш Ctrl+b d.




После отключения все запущенные в сессии программы продолжат работать и вы всегда сможете снова подключиться и посмотреть их вывод. Это удобно при подключении по SSH, которое всегда может разорваться.




7. ПОДКЛЮЧЕНИЕ К СЕССИИ




Посмотреть список сессий можно командой ls:




tmux ls







А для подключения используйте attach:




tmux attach -t losst







Ещё можно посмотреть список клиентов, подключенных к сессии:




tmux lc







ВЫВОДЫ




В этой статье мы разобрали основные команды tmux, а также как пользоваться этой утилитой. Я для себя открыл tmux не давно. Слышал о программе довольно давно, но никак не доходили руки попробовать, а потом попробовал и уже не могу без неё обойтись.




Источник: https://losst.ru/shpargalka-po-tmux



2021-03-10T23:31:45
Утилиты командной строки

Как пользоваться iperf

Утилита iperf — это генератор сетевого трафика, предназначенный для проверки скорости и пропускной способности сети. Программа кроссплатформена, и распространяется с открытым исходным кодом. Вы можете использовать её для проверки пропускной способности VPS серверов или для настройки и улучшения производительности сети.




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




УСТАНОВКА IPERF




Как я уже сказал, программа кроссплатформенная, поэтому вы можете использовать её как в Windows, так и в Linux. Для установки в Ubuntu или Debian выполните:




sudo apt install iperf3







А для установки iperf в CentOS или Fedora:




sudo dnf install iperf3




В Windows программа ставится немного по другому. Просто скачайте утилиту из официального сайта и распакуйте куда-нибудь. Сразу же после этого вы сможете её использовать.




СИНТАКСИС И ОПЦИИ IPERF




Поскольку утилита имеет как серверную часть так и клиентскую, надо рассматривать обе отдельно. Для запуска сервера используется такой синтаксис:




$ iperf3 -s опции




Для запуска клиента используется ключ -c, которому надо передать адрес сервера:




$ iperf3 -c адрес_сервера опции




Теперь давайте рассмотрим общие опции программы:




  • -p, —port — указать порт для сервера или к какому порту надо подключаться;
  • -f, —format — формат выводимых данных, доступны значения: k,m,g,t,K,M,G,T;
  • -i, —interval — интервал времени между выводами результата тестирования;
  • -F, —file — использовать данные из файла вместо генерации случайных данных;
  • -V, —verbose — вывод максимально подробной информации;
  • -J, —json — вывод в формате JSON;
  • —logfile — записывать информацию в лог файл;
  • —forceflush — очищать историю вывода перед выводом следующего результата тестирования;
  • -v, —version — версия программы.




Теперь разберемся с опциями только для серверной части:




  • -D, —daemon — запустить сервер в фоновом режиме;
  • -I, —pidfile — путь для записи PID файла процесса;
  • -1, —one-off — обработать только одно подключение клиента, а затем выйти.




У клиентской части опций чуть больше:




  • —sctp — использовать SCTP вместо TCP;
  • -u, —udp — использовать UDP вместо TCP;
  • —connect-timeout — таймаут для первого соединения с сервером в миллисекундах;
  • -b, —bitrate — битрейт, для UDP используется по умолчанию 1 Мбит/сек, для TCP не ограничено;
  • -t, —time — время одного теста в секундах, по умолчанию 10 секунд;
  • -R, —reverse — обратный тест, не клиент отправляет данные серверу, а сервер клиенту;
  • -P — количество потоков;
  • -w — размер окна TCP;
  • -4, —version4 — использовать только IPv4;
  • -6, —version6 — использовать только IPv6.




Мы рассмотрели далеко не все опции, а только самые интересные и те, которые будут использоваться в нашей статье. Для просмотра всех опций выполните такую команду после установки программы:




man iperf3




Теперь вы знаете как установить iperf, а также основные её опции, но на этом инструкция не заканчивается. Дальше давайте перейдем к примерам использования iperf3.




КАК ПОЛЬЗОВАТЬСЯ IPERF




Для примеров я буду использовать сервер с адресом 192.168.0.101. Адрес клиента не имеет значения. Сначала необходимо запустить серверную часть программы. Для этого выполните:




iperf3 -s







Вы можете сразу указать в каких единицах измерения хотите видеть результаты. Для этого используется опция -f. Доступны такие варианты:




  • k — килобиты;
  • m — мегабиты;
  • g — гигабиты;
  • K — килобайты;
  • M — мегабайты;
  • G — гигабайты;
  • T — терабайты.




Например:




iperf3 -s -f K




Аналогично для сервера можно задать порт с помощью опции -p. По умолчанию он работает на порту 5201:




ipref3 -s -p 4000




В любом случае, если на сервере установлен брандмауэр, то вам надо разрешить в нём подключение к порту 5201 или тому, который вы выбрали. Например, для ufw команда будет выглядеть так:




sudo ufw allow 5201




А для firewalld:




sudo firewall-cmd --permanent --add-port=5201/tcp

sudo firewall-cmd --permanent --add-port=5201/udp

sudo firewall-cmd --reload




И если вы хотите запустить программу в фоновом режиме, можете использовать опцию -D и перенаправить вывод в лог файл:




iperf3 -s -D --logfile /var/log/ipref.log




Убедится, что сервер запущен можно с помощью команды ss:




ss -tulpn | grep 5201







Обратите внимание на IP адрес, на котором слушает сервер, звездочка означает IPv4 соединения, а [::] — IPv6. Поэтому, возможно вам придется вручную указать откуда надо ждать подключений:




iperf3 -s -4 -D --logfile /var/log/ipref.log




Теперь к серверу можно подключаться. Для этого используйте опцию -c. Если вы меняли порт сервера, то здесь его надо указать с помощью опции -p:




iperf3 -c 192.168.0.101 -f K







В данном примере тест выполняется 10 секунд. Чтобы понять какая сейчас у вас пропускная способность сети следует смотреть на колонку Bitrate. Обращайте внимание на строки под чертой, они отображают среднее значение. В данном примере было передано 113 мебабайт со скоростью 11534 килобайт в секунду.




По умолчанию утилита выводит промежуточный результат каждую секунду, вы можете изменить это поведение с помощью опции -i. Например, 5 секунд:




iperf3 -c 192.168.0.101 -f M -i 5







А общую продолжительность теста можно задать с помощью опции -t. Например, 30 секунд:




iperf3 -c 192.168.0.101 -f M -i 5 -t 30




По умолчанию клиент отправляет данные серверу. Вы можете использовать опцию -R, чтобы сервер отправлял данные клиенту:




iperf3 -c 192.168.0.101 -f K -R







Если вы хотите видеть вывод сервера на клиенте, достаточно использовать опцию —get-server-output:




iperf3 -c 192.168.0.101 -f K --get-server-output




С помощью опции -P можно указать количество параллельных потоков тестирования, например, два:




iperf3 -c 192.168.0.101 -f K -P 2




Чтобы использовать UDP пакеты вместо TCP используйте опцию -u:




iperf3 -c 192.168.0.101 -f K -u







Если вы хотите узнать скорость работы вашего сетевого провайдера и у вас нет сервера в сети, можете использовать один из публичных iperf серверов. Полный список таких серверов можно найти здесь. Например:




iperf3 -c iperf.volia.net







ВЫВОДЫ




В этой статье мы рассмотрели как пользоваться iperf 3 для проверки пропускной способности сети, а также разобрались как узнать скорость вашего провайдера с помощью публичных серверов iperf. Как видите, всё не так уж сложно. А какие вы используете утилиты для проверки скорости работы сети? Напишите в комментариях!




Источник: https://losst.ru/kak-polzovatsya-iperf



2021-03-10T23:25:19
Утилиты командной строки

Установка Docker Portainer

В последнее время Docker набирает всё больше и больше популярности благодаря возможности быстро развертывать сложные приложения, состоящие из большого количества сервисов. Portainer — это система управления docker контейнерами в Linux. Она позволяет управлять как локальными контейнерами, так и удалёнными с помощью Docker API.




С помощью Portainer вы сможете отслеживать состояние контейнеров, запускать, останавливать и удалять их, развертывать новые приложения, а также многое другое. Сегодня мы поговорим как выполняется установка Docker Portainer на ваш компьютер, а также как пользоваться программой




КАК УСТАНОВИТЬ DOCKER PORTAINER




Для выполнения этой статьи вам понадобится уже установленный в вашей системе Docker. Я не буду подробно рассказывать как установить docker и docker-compose. Для этого воспользуйтесь этой статьей для Ubuntu или этой для CentOS.




После того, как Docker будет установлен, можно развернуть контейнер с Portainer. Было бы странно, если бы программа поставлялась в каком-либо другом виде. Создайте хранилище данных для Portainer:




docker volume create portainer_data




Для установки и запуска контейнера выполните:




docker run -d -p 9000:9000 --name=portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer







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




docker ps







НАСТРОЙКА PORTAINER




1. ВХОД




Получить доступ к программе вы можете через веб-интерфейс на порту 9000. Откройте его в браузере. На первом шаге надо будет ввести имя пользователя и пароль, под которым вы будете входить в систему:







Затем выберите метод подключения к Docker. Для начала можно подключиться к локальному сервису Docker. Для этого выберите Local:







2. СПИСОК УЗЛОВ И КОНТЕЙНЕРОВ




После нажатия кнопки Connect вы попадите в панель управления контейнерами:







Сначала вам надо выбрать узел, на котором вы будете управлять контейнерами, в данном случае, это local. Здесь вы можете уже управлять вашими контейнерами. Например, в разделе Containers можно посмотреть все доступные контейнеры:







А в разделе Stacks — все доступные приложения:







3. РАЗВОРАЧИВАНИЕ ПРИЛОЖЕНИЯ




В разделе App Templates вы можете развернуть новое приложение на основе одного из существующих шаблонов. Например, давайте развернем WordPress. Для этого найдите его в списке:







Затем шаблон надо настроить. В данном случае, надо указать пароль для базы данных и имя приложения:







После этого нажмите кнопку Deploy the stack и новое приложение появится в списке раздела Stasks. Как видите, теперь программа сообщает, что у неё есть полный контроль над этим приложением, потому что она его создала:




4. УПРАВЛЕНИЕ ПРИЛОЖЕНИЕМ




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







Для командной строки рядом есть значок с символом приглашения ввода. Вот так выглядит командная строка:







А открытые порты находятся в самом конце характеристик контейнера в разделе Published ports:







Если вы кликните по ссылке с надписью 32768:80 для контейнера WordPress, то попадёте на сайт WordPress:







КАК ОБНОВИТЬ PORTAINER




Чтобы обновить Portainer надо удалить текущий образ и запустить его снова. Это не вызовет никаких проблем, так как при создании предыдущего образа мы использовали внешнее хранилище для хранения данных. Остановите образ и удалите его:




docker stop portainer

docker rm portainer




Скачайте новую версию:




docker pull portainer/portainer




Затем осталось снова установить Portainer:




docker run -d -p 9000:9000 --name=portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer




ВЫВОДЫ




Как видите установка Portainer очень простая, если у вас есть уже установленный docker, а далее программа только помогает пользоваться контейнерами. Вы можете подключить к ней и удалённые узлы, однако для этого надо, чтобы у них был публичный IP адрес, потому что в локальной сети взаимодействовать с ними вы не сможете. А вы используете Portainer или пользуетесь другим интерфейсом для управления Docker? Напишите в комментариях!




Источник: https://losst.ru/ustanovka-docker-portainer



2021-03-10T23:16:02
Software

Как добавить команду в Cron

При администрировании и настройке серверов очень часто надо настраивать автоматическое выполнение определенных скриптов или программ через равные промежутки времени. Это может быть резервное копирование, отправка отчётов о состоянии сервера или другие тому подобные вещи.




Служба cron — это стандартный планировщик задач в Linux. С помощью него вы можете запланировать выполнение команды или скрипта один или несколько раз, в определенную минуту, час, день, неделю и месяц. В этой статье мы подробно рассмотрим как выполняется настройка Cron в Linux на примере дистрибутива Ubuntu.




КАК ПОСМОТРЕТЬ ЗАДАНИЯ CRON




Думаю, что начать следует не с настройки, а именно как посмотреть уже настроенные задачи cron. На самом деле задачи хранятся в трёх местах:




  • База данных crontab — здесь хранятся все записи cron пользователя, которые вы настраиваете вручную;
  • /etc/crontab и /etc/cron.d/ — системные записи cron и записи cron различных пакетов;
  • /etc/cron.hourly, /etc/cron.daily, /etc/cron.weekly, /etc/cron.monthly — здесь лежат скрипты, которые надо выполнять раз в час, день, неделю и месяц соответственно, обычно эти папки используются различными пакетами, но вы тоже можете их использовать для своих скриптов.




Чтобы посмотреть задания cron добавленные текущим пользователем используйте команду crontab и опцию -l:




crontab -l




Все задачи cron разделены по пользователям, и команды из этих задач будут выполнятся от имени того пользователя, для которого они были добавлены. Чтобы посмотреть задачи другого пользователя используйте опцию -u:




sudo crontab -u root -l




А теперь давайте поговорим о том, как добавить команду cron для нужного вам пользователя.




ДОБАВЛЕНИЕ КОМАНДЫ В CRON




Чтобы добавить задание cron из терминала можно использовать утилиту crontab. Для открытия временного файла с текущими заданиями этого пользователя выполните:




crontab -e




Все запланированные действия будут выполнятся от текущего пользователя, если вы хотите указать другого пользователя используйте опцию -u:




sudo crontab -u имя_пользователя -e




Команда откроет текстовый редактор, где вы сможете добавлять или редактировать задания cron. Будет использован установленный по умолчанию редактор, например, vim:







Каждая задача формируется следующим образом:




минута(0-59) час(0-23) день(1-31) месяц(1-12) день_недели(0-7) /полный/путь/к/команде




Чтобы подставить любое значение используйте звездочку «*«. Первые пять параметров характеризуют время выполнения, а последний, это путь к команде или скрипту, который нужно выполнить. Обратите внимание, что значение переменной PATH здесь не действует, поэтому путь надо писать полностью либо объявлять свою переменную PATH в начале файла настройки. Давайте сделаем простой скрипт, который будет выводить в лог дату своего запуска и поможет отладить всё это:




sudo vi /usr/local/bin/script.sh




#!/bin/bash

echo $(date) >> /var/log/testcron.log







Сделайте скрипт исполняемым:




sudo chmod ugo+x /usr/local/bin/script.sh




Самый простой пример как запускать cron каждую минуту. Вместо всех параметров ставим просто звездочку:




* * * * * /usr/local/bin/script.sh







Или только в нулевую минуту, то есть в начале каждого часа или другими словами запуск cron каждый час:




0 * * * * /usr/local/bin/script.sh




Можно указать несколько значений через запятую, для того чтобы определить несколько точек запуска. Например, будем запускать скрипт cron каждые 15 минут:




0,14,29,44 * * * * /usr/local/bin/script.sh




Можно записывать значения через дефис чтобы указывать промежутки точек запуска. Например, для того чтобы запускать скрипт каждую минуту, но только первые 10 минут каждого часа используйте:




0-10 * * * * /usr/local/bin/script.sh




Чтобы чтобы настроить интервал выполнения более тонко можно использовать слеш (/) с помощью этого символа и звездочки можно указать шаг с которым будет выполнятся команда. Например, каждые пять минут:




0/5 * * * * /usr/local/bin/script.sh




Чтобы запустить cron каждые 10 минут используйте:




0/10 * * * * /usr/local/bin/script.sh




А для запуска cron каждые 30 минут:




0/30 * * * * /usr/local/bin/script.sh




Аналогичным образом задаются часы, например, выполнять скрипт только 6:00 и 18:00:




0 6,18 * * * /usr/local/bin/script.sh




А вот запустить cron каждую секунду или раз в 30 секунд не получится. Минимальная единица времени в cron это минута. Но можно создать команду, которая будет запускаться раз в минуту и по 30 секунд спать и затем снова делать:




* * * * * /usr/local/bin/script.sh && sleep 30 && /usr/local/bin/script.sh




Это довольно плохой подход и лучше так не делать. Кроме того, для экономии времени при работе с cron можно использовать специальные слова-маркеры времени. Вот они:




  • @reboot — при перезагрузке;
  • @yearly@annually — раз в год (0 0 1 1 *);
  • @monthly — раз в месяц (0 0 1 * *);
  • @weekly — раз в неделю (0 0 * * 0);
  • @daily@midnight — раз в день в полночь (0 0 * * *);
  • @hourly — раз в час (0 * * * *).




Для подбора правильной комбинации даты можно использовать сервис crontab.guru. Он позволяет в реальном времени посмотреть когда будет выполнено то или иное условие:







Когда настройка cron linux будет завершена, сохраните изменения и закройте файл. Для этого в Nano нажмите Ctrl+O для сохранения и Ctrl+X для закрытия редактора, а в Vim нажмите Esc и наберите :wq. Теперь новые задания Cron будут добавлены и активированы. Посмотреть как выполняется ваш Cron вы можете с помощью скрипта, который я привел выше либо в лог файле. Сервис cron пишет свои логи в стандартный журнал syslog. В Ubuntu они сохраняются в файле /var/log/syslog:




cat /var/log/syslog | grep CRON







Если во время работы возникнут ошибки cron, они тоже будут здесь. Если же вам надо добавить задание Cron из какого либо скрипта, то вы всегда можете поместить свой скрипт в папку /etc/cron.d или /cron/hourly,… чтобы выполнять его когда надо, только не забудьте сделать скрипт исполняемым.




ВЫВОДЫ




В этой статье мы разобрались как выполняется настройка cron linux на примере Ubuntu. Как видите, все только кажется сложным, но на самом деле просто если разобраться.




Источник: https://losst.ru/kak-dobavit-komandu-v-cron



2021-03-10T23:09:16
Утилиты командной строки