… и выполнить те или иные операции в зависимости от результата проверки, используя командный процессор, например bash.
Примерно так формулируется очередная небольшая задача, возникающая в ежедневном потоке рутины автоматизации работы.
Существует множество подходов, а мне нравится использовать утилиту netcat или nc. Вот пример логики для пакетного исполняемого файла:
|
|
#/bin/bash nc -z 127.0.0.1 3306 \ && echo "Порт уже открыт, видимо mysql запущена" \ || echo "Порт свободен"; |
В примере выше, мы проверяем стандартный порт MySQL — 3306. Если он уже используется, nc возвращает true и выполняется следующая команда в цепочке — выводится сообщение о том, что порт уже открыт. В противном случае выполняется следующая команда с сообщением, что порт не занят.
Для более сложных скриптов можно воспользоваться оператором if — then — else, тогда скрипт будет выглядеть так:
|
|
#/bin/bash if nc -z 127.0.0.1 3306; then echo "Порт уже открыт, видимо mysql запущена"; else echo "Порт свободен"; fi; |
Второй вариант более читабельный и позволяет легко конструировать вложенные условия.
UNIX
Данная запись опубликована в 31.01.2023 13:46 и размещена в рубрике Программирование.
Вы можете перейти в конец страницы и оставить ваш комментарий.
Мало букафф? Читайте есчо !
Сентябрь 29, 2020 г.
В mySQL нет выражения вроде RENAME DATABASE oldName to newName. Если возникла задача переименовать базу данных, придется выполнить по-этапно: операции создания новой БД, копирования таблиц из старой базы (RENAME TABLE ...) и удаление старой базы.
...
Читать
Август 22, 2011 г.
Сайты иногда переезжают с одного хостинга на другой. И когда это случается, приходится выполнить как минимум две операции - копирование файлов и копирование базы данных на промежуточный хост.
Этот промежуточный хост, обычно, рабочая станция под управлением ...
Читать
Февраль 23, 2018 г.
Решаем задачу о копировании файлов из каталога SRC в каталог DST, но только определенных заданных типов, сохраняя структуру каталогов.
Это может понадобиться для сбора ассетов проекта, создания архивов и т.п.
К примеру, вы хотите скопировать ...
Читать
Декабрь 2, 2018 г.
Lessc не имеет ключа 'слежения', чтобы выполнять перекомпиляцию при изменении less файлов проекта, как например это сделано у sass компилятора. Это весьма не удобно на этапе верстки шаблона из макета.
Для отслеживания я установил UNIX утилиту inotify. ...
Читать