#!/bin/bash # Пингуем машины, проверяем, кто доступен, а кто нет. # Адреса машин находятся в hosts # # TO-DO # [X] - спрятать все в цикл # [X] - анализатор хостс (возможно не нужен, можно выписывать именна в массив) # [X] - табличная верстка вывода # [ ] - добавить цвет в вывод RED='\033[31m' GRN='\033[32m' DEF='\033[0m' fail="dead" suc="alive" stands=('lgbt' 'stan' 'sheldon' 'zombie' 'notebook' 'dock') table_print() { printf '%10s %-6s%-9s\n' $1 $2 $3 } test_ping() { for stand in ${stands[@]}; do if ping -W 1 -c 1 $stand &> /dev/null; then table_print $stand $suc "$(date +%X)" else table_print $stand $fail "$(date +%X)" fi done } test_arp() { for stand in ${stands[@]}; do if /usr/sbin/arp $stand | grep -cq incomplete; then table_print $stand $fail "$(date +%X)" else table_print $stand $suc "$(date +%X)" fi done } test_ping