当前位置: 首页 > 科技观察

Linux终端快速检测网站是否宕机的6种方法

时间:2023-03-13 15:14:45 科技观察

本教程教你如何在Linux终端快速检测网站是否宕机。您可能已经知道一些类似的命令,例如ping、curl和wget。我们在本教程中包含了一些其他命令。此外,我们还添加了不同的选项来检测单个和多个主机信息。本文将帮助您检测您的网站是否已关闭。但是如果你在维护一些网站,想在网站宕机时得到实时告警,我推荐你使用网站实时监控工具。有很多这样的工具,有些是免费的,大部分是收费的。根据您的需要选择合适的工具。我们将在后续文章中讨论这个话题。方法一:使用fping命令检测网站是否宕机。fping命令是一个类似于ping的程序,它使用互联网控制消息协议(ICMP)的回显请求消息来判断目标主机是否可以响应。fping与ping的不同之处在于它可以并行ping任意数量的主机,或者它可以从文本文件中读取主机名。fping发送ICMP回显请求后,不等待目标主机响应,以轮询方式向下一个目标主机发送请求。如果目标主机响应,则将其标记为活动并从已检查目标列表中删除。如果目标主机在有限的时间内和/或重试次数内没有响应,则站点被指定为无法访问。#fping2daygeek.comlinuxtechnews.commagesh.co.in2daygeek.comisalivelinuxtechnews.comisalivemagesh.co.inisalive方法二:使用http命令检测网站是否宕机HTTPie(发音为aitch-tee-tee-pie)是一个命令行HTTP客户端。httpie是一种通过CLI与Web服务交互的现代工具。httpie工具提供了简单的http命令,可以通过使用简单、自然的语言语法发送任意HTTP请求来获得丰富多彩的输出。HTTPie可用于测试、调试以及与HTTP服务器的基本交互。#http2daygeek.comHTTP/1.1301永久移动CF-RAY:535b66722ab6e5fc-LHRCache-Control:max-age=3600Connection:keep-aliveDate:Thu,14Nov201919:30:28GMTExpires:Thu,14Nov201920:30:28GMTLocation:https://2daygeek.com/Server:cloudflareTransfer-Encoding:chunkedVary:Accept-Encoding方法三:使用curl命令检测网站是否宕机服务器(DICT、FILE、FTP、FTPS、GOPHER、HTTP、HTTPS、IMAP、IMAPS、LDAP、LDAPS、POP3、POP3S、RTMP、RTSP、SCP、SFTP、SMTP、SMTPS、TELNET和TFTP)来传输数据。此工具不支持用户交互。curl还支持使用代理、用户身份验证、FTP上传、HTTPPOST请求、SSL连接、cookie、可恢复上传、Metalink等。curl通过libcurl库提供所有与传输相关的功能。#curl-Ihttps://www.magesh.co.inHTTP/2200date:Thu,14Nov201919:39:47GMTcontent-type:text/htmlset-cookie:__cfduid=db16c3aee6a75c46a504c15131ead3e7f1573760386;expires=周五,11月13日-20日19:39:46GMT;路径=/;域名=.magesh.co.in;HttpOnlyvary:Accept-Encodinglast-modified:Sun,2015年6月14日11:52:38GMTx缓存:来自Backendcf-cache-status的HIT:DYNAMICexpect-ct:max-age=604800,report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"server:cloudflarecf-ray:535b74123ca4dbf3-LHR如果你只想看到HTTP状态码而不是返回的完整信息,使用下面的curl命令:#curl-I"www.magesh.co.in"2>&1|awk'/HTTP\//{print$2}'200如果您想检查网站是否已关闭,请使用以下bash脚本:#vicurl-url-check.sh#!/bin/bashifcurl-I"https//www.magesh.co.in"2>&1|grep-w"200\|301";thenecho"magesh.co.inisup"elseecho"magesh.co.inisdown"fi将脚本内容添加到文件时,执行文件并检查结果:#shcurl-url-check.sh如果您想检查多个站点,HTTP/2200magesh.co.in已启动状态,使用以下shell脚本:#vicurl-url-check-1.sh#!/bin/bashforsiteinwww.google.comgoogle.co.inwww.xyzzz.comdoifcurl-I"$site"2>&1|grep-w"200\|301";然后echo"$siteisup"elseecho"$siteisdown"fiecho"--------------------------------"done你把上面的脚本内容添加到文件后,执行文件,查看结果:#shcurl-url-check-1.shHTTP/1.1200OKwww.google.comisup--------------------------------HTTP/1.1301永久移动google.co。在上了--------------------------------www.xyzzz.com下了--------------------------------方法四:使用wget命令检测网站是否宕机wget命令(原Geturl)是一个免费的开源命令行下载工具,通过HTTP、HTTPS、FTP和其他广泛使用的Internet协议获取文件wget是一个以万维网和get命名的非交互式命令行工具。与其他工具相比,wget更好,其功能包括后台运行、递归下载、多文件下载、断点续传、非交互式下载和大文件下载。#wget-S--spiderhttps://www.magesh.co.inSpider模式已启用。检查远程文件是否存在--2019-11-1501:22:00--https://www.magesh.co.in/LoadedCAcertificate'/etc/ssl/certs/ca-certificates.crt'解析www.magesh.co.in(www.magesh.co.in)…104.18.35.52,104.18.34.52,2606:4700:30::6812:2334,…连接到www.magesh.co.in(www.magesh.co.in)|104.18.35.52|:443…已连接。已发送HTTP请求,正在等待响应…HTTP/1.1200OK日期:2019年11月14日星期四19:52:01GMT内容类型:text/html连接:保持-aliveSet-Cookie:__cfduid=db73306a2f1c72c1318ad4709ef49a3a01573761121;到期=格林威治标准时间20年11月13日星期五19:52:01;路径=/;域名=.magesh.co.in;HttpOnlyVary:接受编码Last-Modified:2015年6月14日星期日11:52:38GMTX-Cache:来自后端CF-Cache-Status的HIT:DYNAMICExpect-CT:max-age=604800,report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct”服务器:cloudflareCF-RAY:535b85fe381ee684-LHRLength:未指定[text/html]远程文件存在并且可能包含更多链接,但递归被禁用-未检索。如果只想查看HTTP状态代码而不是所有返回的结果,请使用以下wget命令:#wget--spider-S"www.magesh.co.in"2>&1|awk'/HTTP\//{print$2}'200如果您想查看网站是否已关闭,请使用以下bash脚本:#viwget-url-check.sh#!/bin/bashifwget--spider-S"https://www.google.com"2>&1|grep-w"200\|301";thenecho"Google.comisup"elseecho"Google.comisdown"fi将脚本内容添加到文件时,执行文件并查看结果:#wget-url-check.shHTTP/1.1200OKGoogle。如果您想查看多个站点的状态,请使用以下shell脚本:#vicurl-url-check-1.sh#!/bin/bashforsiteinwww.google.comgoogle.co。在www.xyzzz.comdoifwget--spider-S"$site"2>&1|grep-w"200\|301";然后echo"$siteisup"elseecho"$siteisdown"fiecho"--------------------------------》done将上述脚本内容添加到一个文件后,执行该文件,查看结果:#shwget-url-check-1.shHTTP/1.1200OKwww.google.com已启动----------------------------------HTTP/1.1301MovedPermanentlygoogle.co.inisup--------------------------------www。xyzzz.comdown了------------------------------------方法五:使用lynx命令检测网站是否关闭lynx是一种高度可配置的基于文本的网络浏览器,用于光标可寻址的字符单元终端,是最古老的网络浏览器,并且仍在积极开发中#lynx-head-dumphttp://www.magesh.co.inHTTP/1.1200OKDate:Fri,15Nov201908:14:23GMTContent-Type:text/htmlConnection:closeSet-Cookie:__cfduid=df3cb624024b81df7362f42ede71300951573806=expiresSat,14-Nov-2008:14:22GMT;路径=/;域名=.magesh.co.in;HttpOnlyVary:Accept-EncodingLast-Modified:Sun,14Jun201511:52:38GMTX-Cache:HITfromBackendCF-Cache-Status:DYNAMICServer:cloudflareCF-RAY:535fc5704a43e694-LHR如果您只想查看HTTP状态代码在返回的所有结果中,使用以下lynx命令:#lynx-head-dumphttps://www.magesh.co.in2>&1|awk'/HTTP\//{print$2}'200如果要查看网站是否已关闭,请使用以下bash脚本:#vilynx-url-check.sh#!/bin/bashiflynx-head-dumphttp://www.magesh.co.in2>&1|grep-w"200\|301";thenecho"magesh.co.inisup"elseecho"magesh.co.inisdown"fi将脚本内容添加到文件时,执行文件并查看结果:#shlynx-url-check.shHTTP/1.1200OKmagesh.co.inisup如果您想查看多个网站的状态,请使用以下shell脚本:#vilynx-url-check-1.sh#!/bin/bashforsiteinhttp://www.google.comhttps://google.co.inhttp://www.xyzzz.comdoiflynx-head-dump"$site"2>&1|grep-w"200\|301";然后echo"$siteisup"elseecho"$siteisdown"fiecho"--------------------------------"done把上面的脚本内容添加到文件后,执行文件,查看结果:#shlynx-url-check-1.shHTTP/1.0200OKhttp://www.google.comisup----------------------------------HTTP/1.0301永久移动https://google.co.in已启动----------------------------------www.xyzzz.com已关闭------------------------------------方法六:使用ping命令检测网站是否宕机。ping命令(PacketInternetGroper)是网络工具的代表,用于因特网协议(IP)网络中,通过向目标主机发送ICMP回显请求包并等待ICMP回显响应数据包检测主机的可用性。它根据发送、接收和丢失的数据包提供统计结果,通常包括最小/平均/最大响应时间。#ping-c52daygeek.comPING2daygeek.com(104.27.157.177)56(84)字节数据。来自104.27.157.177(104.27.157.177)的64个字节:icmp_seq=1ttl=58time=228ms来自104.27的64个字节。157.177(104.27.157.177):icmp_seq=2ttl=58time=227ms64bytes来自104.27.157.177(104.27.157.177):icmp_seq=3ttl=58time=250ms64bytesfrom104.27.157.177.177(104):icmp_seq=3ttl=58time=250ms64bytes=4ttl=58time=171ms64bytesfrom104.27.157.177(104.27.157.177):icmp_seq=5ttl=58time=193ms---2daygeek.comping统计---5个数据包传输,5个接收,0%丢包,时间13244msrttmin/avg/max/mdev=170.668/213.824/250.295/28.320ms附加1:使用telnet命令检测网站是否宕机。telnet命令是一种TELNET协议,用于TCP/IP网络中的多台主机相互通信的一种古老的网络协议。它通过23端口连接电脑、网络设备等其他设备。Telnet是一种不安全的协议,不推荐使用,因为该协议发送的数据没有加密就可能被黑客拦截。每个人都使用加密且非常安全的SSH协议而不是telnet。#telnetgoogle.com80Trying216.58.194.46…连接到google.com。转义符是'^]'。^]telnet>quitConnectionclosed.扩展2:使用bash脚本检测网站是否宕机简而言之,shell脚本就是一个包含一系列命令的文件。shell从文件中读取内容,并在命令行中按照输入的顺序逐行执行。为了提高效率,让我们添加一些条件。这也减轻了Linux管理员的负担。如果您想使用wget命令查看多个网站的状态,请使用以下shell脚本:#viwget-url-check-2.sh#!/bin/bashforsiteinwww.google.comgoogle.co.inwww.xyzzz.comdoifwget--spider-S"$site"2>&1|grep-w"200\|301">/dev/null;thenecho"$siteisup"elseecho"$siteisdown"fidone将上述脚本内容添加到一个文件后,执行该文件,查看结果:#shwget-url-check-2.shwww.google。comupgoogle.co.inupwww.xyzzz.comisdown如果您想使用wget命令查看多个网站的状态,请使用以下shell脚本:#vicurl-url-check-2.sh#!/bin/bash用于www.google.comgoogle.co.inwww.xyzzz.comdoifcurl-I"$site"2>&1|grep-w"200\|301">/dev/null;thenecho"$siteisup"elseecho"$siteisdown"fidone当你添加上面的脚本内容到达一个文件后,执行文件,查看结果:#shcurl-url-check-2.shwww.google.com上线google.co.in上线www.xyzzz.com下线

猜你喜欢