… и выполнить те или иные операции в зависимости от результата проверки, используя командный процессор, например 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 и размещена в рубрике Программирование.
Вы можете перейти в конец страницы и оставить ваш комментарий.
Мало букафф? Читайте есчо !
Июнь 22, 2021 г.
В Юникс системах можно перенаправить вывод выполняемой команды в лог-файл, но иногда хотелось бы видеть результаты работы одновременно и в консоли.
Вот пример перенаправления вывода в файл:
[crayon-6876b0ab4f221636841253/]
При этом в консоли ...
Читать
Январь 23, 2017 г.
В данном случае от "404 ошибки - файл не найден" нас отделяет целая пропасть. Файл найден, но сервер его не спешит отдавать пользователю, т.к. считает, что у пользователя не достаточно на это прав.
Если сервер предотвратил несанкционированный доступ ...
Читать
Март 17, 2022 г.
Команда su позволяет выполнить любую операцию от имени существующего пользователя.
К примеру от имени пользователя nginx:
[crayon-6876b0ab4f60c926573894/]
Должно вывести nginx, но скорее всего ничего не получится и вы увидите сообщение
...
Читать
Февраль 20, 2018 г.
Если вы укажите полный путь архивируемой папки в UNIX, то файлы будут размещены в архиве вместе полным путем. Не всегда это удобно и правильно, зависит от выполняемой задачи.
Как отсечь абсолютные пути, оставив только относительные?
Для этого ...
Читать