Между двумя предоставленными вами альтернативами, более поздний правильный:
if ['ping google.com -c 4 | grep time '! = ""]; затем
Вы можете сохранить что-то
в переменной, скажем var
, и проверить, пусто ли оно, используя [-z "$ var]"
. Если он пуст, его статус выхода $?
будет нулевым.
Проверка:
$ var="something"
$ [ -z "$var" ]
$ echo $?
1
$ var=""
$ [ -z "$var" ]
$ echo $?
0
Вы можете проверить подключение к Интернету, вы можете использовать следующий один лайнер:
ping -s 1 -c 1 -W 2 -q www.google.com && echo "SUCCESS" || echo "FAILURE"
С -s 1
мы отправим только 1 байт данных.
С помощью -c 1
мы отправим только один пакет ICMP.
С помощью -W 2
мы указываем, что мы будем ждать только 2 секунды для ответ на пинг.
Я настроил и использовал для обслуживания сеть из пары сотен серверов Debian (небольших ).
Я использовал виртуальную машину Jumpbox, которая удобна тем, что вы можете оставить ее на день, оставив там что-то работающее, или настроить автоматизированные служебные задачи.
Оттуда я запускал автоматические скрипты и Ansible для себя, Rundeck для сисопов.
rpcbind
особенно пагубно, вновь появляясь в обновлениях системы, если мне не изменяет память. Еще один, который часто всплывает в обновлениях ядра, — это firmware-linux-free
, который не нужен в виртуальных машинах VmWare. Я также прикрепил к -1 пару пакетов, связанных с systemd, однако в нескольких основных обновлениях версии даже закрепление его в -1 не помешало ему снова появиться.
Я бы использовал политики Ansible, чтобы держать его под контролем, не сумев прикрепить пакет rpcbind
к -1.
Тем не менее, я ставлю свои деньги, даже закрепление на каждом сервере пакета rpcbind
к -1 не решит проблему. Со временем Debian становится все более запутанным. Могу поклясться, что пробовал, не уверен.
Наличие Jumpbox, доступного в моем случае через VPN+ssh, также было полезно, когда мне нужно было срочно сделать что-то вне работы или пару раз по телефону. Как ни странно, даже один раз за 1 -дневную конференцию AWS я сделал небольшое экстренное вмешательство по моему мобильному телефону, ситуация, которая в противном случае потребовала бы от меня покинуть его.
Если вы категорически против наличия окна перехода, вы всегда можете запустить scripting+Ansible со своего ноутбука/рабочего компьютера. Ansible не требует наличия агентов на клиентских виртуальных машинах.
Связанный вопрос для тех, кто посещает:Линукс-эквивалент удаленного взаимодействия PowerShell «от одного -до -многих»