Я пишу скрипт для резервного копирования данных с моего ноутбука на сервер Ubuntu. Для этого я ищу команду (ba) sh, чтобы проверить, доступен ли сервер перед началом резервного копирования. что-то вроде ping
порта 22, который возвращает логическое значение.
Как я могу это сделать?
nc: invalid option -- 'z'
-w
опции nc навсегда застрянет на UbuntuИспользуйте netcat :
Из справочной страницы
источник
nc -z -w 2 192.168.0.123
(-w это опция тайм-аута в секундах) не тайм-аут: |z
в. кто бы вы ни сканировали, он может получить информацию только о том, кто сканировал, не предоставивidentification string
Alternate:
источник
-w
опцииnc
навсегда застрянет на Ubuntunc -zw 2 examplehost.com 22 && { echo "You can call your backup function" ; } || { echo "SSH Unavailable" ; }
Как насчет
источник
/dev/tcp
. Ubuntu, являющаяся производной от Debian, может также (но у меня нет конкретных знаний). Но если/dev/tcp
есть, то да, это совершенно верно.exec 3>/dev/tcp/${HOST}/22
выглядит действительно "странно"