Piszę skrypt, który utworzy kopię zapasową danych z mojego laptopa na serwerze Ubuntu. Aby to zrobić, szukam polecenia (ba) sh, aby sprawdzić, czy serwer jest dostępny przed rozpoczęciem tworzenia kopii zapasowej. coś jak ping
na porcie 22, który zwraca wartość logiczną.
Jak mogę to zrobić?
nc: invalid option -- 'z'
-w
opcji nc utknie na zawsze na UbuntuUżyj netcat :
Z strony podręcznika
źródło
nc -z -w 2 192.168.0.123
(-w to opcja limitu czasu, w sekundach) nie limit czasu: |z
w. ktokolwiek skanujesz nadal może uzyskać informacje o tym, kto wykonał skanowanie tylko bez podaniaidentification string
Alternatywny:
źródło
-w
opcjinc
utknie na zawsze na Ubuntunc -zw 2 examplehost.com 22 && { echo "You can call your backup function" ; } || { echo "SSH Unavailable" ; }
Co powiesz na
źródło
/dev/tcp
. Ubuntu wywodzące się z Debiana może również (ale nie mam konkretnej wiedzy). Ale jeśli/dev/tcp
jest dostępny, to tak, jest to całkowicie poprawne.exec 3>/dev/tcp/${HOST}/22
wygląda naprawdę „dziwacznie”