Я написал командный файл, который проверяет, находится ли сервер в сети. Он использует несколько инструментов Cygwin-64.
Вот командный файл:
wget -S http://www.example.com/ -o headers.txt -O index.html
cat http-commands.txt | ncat --idle-timeout 5 -vvv www.example.com 80 >> ncat.txt
unix2dos headers.txt
grep -i apache headers.txt > comparison-now.txt
fc comparison-known-good.txt comparison-now.txt
if %errorlevel% 1 goto email
echo Exit Code is %errorlevel%
if %errorlevel% 0 goto good
:email
del /f /q files.zip
zip -xi ncat.txt index.html headers.txt files.zip
C:\commands\Blat.exe C:\path\message.txt -attach C:\path\files.zip -tf C:\path\recipients.txt -subject "Example.com Down!" -server relay.server.com -f example@gmail.com -log C:\path\log.txt -debug -timestamp -overwritelog
:good
REM Hooray! The server is alive!
exit
Выход ниже:
1 was unexpected at this time.
C:\path>if 0 1 goto email
Возможно, логика должна быть такой, поскольку будут только две разные ошибки?
if errorlevel 1 do this
.
else do this