From 075ff1f143c334744013497330aba6be132dc4eb Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Tue, 10 Dec 2019 09:38:26 +0800 Subject: [PATCH] PRF @lxbwolf --- ...e is up or down from the Linux Terminal.md | 52 ++++++++++--------- 1 file changed, 27 insertions(+), 25 deletions(-) diff --git a/translated/tech/20191116 6 Methods to Quickly Check if a Website is up or down from the Linux Terminal.md b/translated/tech/20191116 6 Methods to Quickly Check if a Website is up or down from the Linux Terminal.md index 39e12ca4a3..d59d927423 100644 --- a/translated/tech/20191116 6 Methods to Quickly Check if a Website is up or down from the Linux Terminal.md +++ b/translated/tech/20191116 6 Methods to Quickly Check if a Website is up or down from the Linux Terminal.md @@ -1,24 +1,26 @@ [#]: collector: (lujun9972) [#]: translator: (lxbwolf) -[#]: reviewer: ( ) +[#]: reviewer: (wxy) [#]: publisher: ( ) [#]: url: ( ) [#]: subject: (6 Methods to Quickly Check if a Website is up or down from the Linux Terminal) [#]: via: (https://www.2daygeek.com/linux-command-check-website-is-up-down-alive/) [#]: author: (Magesh Maruthamuthu https://www.2daygeek.com/author/magesh/) -在 Linux Terminal 快速检测网站是否宕机的 6 个方法 +在 Linux 终端快速检测网站是否宕机的 6 个方法 ====== -本教程教你怎样在 Linux terminal 快速检测一个网站是否宕机。 +> 本教程教你怎样在 Linux 终端快速检测一个网站是否宕机。 -你可能已经了解了一些类似的命令,像 ping,curl 和 wget。我们在本教程中又加入了一些其他命令。同时,对于要检测单个和多个主机的信息我们也加入了不同的选项。 +![](https://img.linux.net.cn/data/attachment/album/201912/10/093801u332115oocxz4531.jpg) -本文将帮助你检测网站是否宕机。但是如果你在维护一个网站,希望网站宕掉时得到实时的报警,我推荐你去使用实时网站监控工具。这种工具有很多,有些是免费的,大部分收费。根据你的需求,选择合适的工具。在后续的文章中我们会涉及这个主题。 +你可能已经了解了一些类似的命令,像 `ping`、`curl` 和 `wget`。我们在本教程中又加入了一些其他命令。同时,我们也加入了不同的选项来检测单个和多个主机的信息。 + +本文将帮助你检测网站是否宕机。但是如果你在维护一些网站,希望网站宕掉时得到实时的报警,我推荐你去使用实时网站监控工具。这种工具有很多,有些是免费的,大部分收费。根据你的需求,选择合适的工具。在后续的文章中我们会涉及这个主题。 ### 方法 1:使用 fping 命令检测一个网站是否宕机 -**[fping 命令][1]** 是一个类似 ping 的程序,使用互联网控制消息协议回应请求报文(ICMP echo request)来判断目标主机是否能回应。fping 与 ping 的不同之处在于它可以并行地 ping 任意数量的主机,也可以从一个文本文件读入主机。fping 发送一个 ICMP echo request 后不等待目标主机响应,就以 round-robin 模式向下一个目标主机发请求。如果一个目标主机有响应,那么它就被标记为存活的(active)然后从检查目标列表里去掉。如果一个目标主机在限定的时间和(或)重试次数内没有响应,则被指定为网站无法到达(unreachable)。 +[fping 命令][1] 是一个类似 `ping` 的程序,使用互联网控制消息协议(ICMP)的回应请求报文echo request来判断目标主机是否能回应。`fping` 与 `ping` 的不同之处在于它可以并行地 `ping` 任意数量的主机,也可以从一个文本文件读入主机名称。`fping` 发送一个 ICMP 回应请求后不等待目标主机响应,就以轮询模式向下一个目标主机发请求。如果一个目标主机有响应,那么它就被标记为存活的,然后从检查目标列表里去掉。如果一个目标主机在限定的时间和(或)重试次数内没有响应,则被指定为网站无法到达的。 ``` # fping 2daygeek.com linuxtechnews.com magesh.co.in @@ -30,7 +32,7 @@ magesh.co.in is alive ### 方法 2:使用 http 命令检测一个网站是否宕机 -HTTPie(读作 aitch-tee-tee-pie)是一个命令行 HTTP 客户端。**[httpie tool][2]** 是一个可以与 web 服务通过 CLI(command-line interface)进行交互的现代工具。httpie tool 提供了简单的 http 命令,可以通过发送简单的、自然语言语法的任意 HTTP 请求得到多彩的结果输出。HTTPie 可以用来对 HTTP 服务器进行测试、调试和基本的交互。 +HTTPie(读作 aitch-tee-tee-pie)是一个命令行 HTTP 客户端。[httpie][2] 是一个可以与 web 服务通过 CLI 进行交互的现代工具。httpie 工具提供了简单的 `http` 命令,可以通过发送简单的、自然语言语法的任意 HTTP 请求得到多彩的结果输出。HTTPie 可以用来对 HTTP 服务器进行测试、调试和基本的交互。 ``` # http 2daygeek.com @@ -49,7 +51,7 @@ Vary: Accept-Encoding ### 方法 3:使用 curl 命令检测一个网站是否宕机 -**[curl 命令](https://www.2daygeek.com/curl-linux-command-line-download-manager/)** 是一个用于在服务器间通过支持的协议(DICT, FILE, FTP, FTPS, GOPHER, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, POP3, POP3S, RTMP, RTSP, SCP, SFTP, SMTP, SMTPS, TELNET 和 TFTP)传输数据的工具。这个工具不支持用户交互。curl 也支持使用代理、用户认证、FTP 上传、HTTP post、SSL 连接、cookies、断点续传、Metalink等等。curl 由 libcurl 库提供所有与传输有关的能力。 +[curl 命令][3] 是一个用于在服务器间通过支持的协议(DICT、FILE、FTP、FTPS、GOPHER、HTTP、HTTPS、IMAP、IMAPS、LDAP、LDAPS、POP3、POP3S、RTMP、RTSP、SCP、SFTP、SMTP、SMTPS、TELNET 和 TFTP)传输数据的工具。这个工具不支持用户交互。`curl` 也支持使用代理、用户认证、FTP 上传、HTTP POST 请求、SSL 连接、cookie、断点续传、Metalink 等等。`curl `由 libcurl 库提供所有与传输有关的能力。 ``` # curl -I https://www.magesh.co.in @@ -67,7 +69,7 @@ server: cloudflare cf-ray: 535b74123ca4dbf3-LHR ``` -如果你只想看 HTTP 状态码而不是返回的全部信息,用下面的 curl 命令: +如果你只想看 HTTP 状态码而不是返回的全部信息,用下面的 `curl` 命令: ``` # curl -I "www.magesh.co.in" 2>&1 | awk '/HTTP\// {print $2}' @@ -87,7 +89,7 @@ else fi ``` -当你把脚本内容添加到一个文件后,执行文件,查看结果 +当你把脚本内容添加到一个文件后,执行文件,查看结果: ``` # sh curl-url-check.sh @@ -113,7 +115,7 @@ echo "----------------------------------" done ``` -当你把上面脚本内容添加到一个文件后,执行文件,查看结果 +当你把上面脚本内容添加到一个文件后,执行文件,查看结果: ``` # sh curl-url-check-1.sh @@ -130,7 +132,7 @@ www.xyzzz.com is down ### 方法 4:使用 wget 命令检测一个网站是否宕机 -**[wget 命令][4]** (前身是 Geturl)是一个免费的开源命令行下载工具,通过 HTTP、HTTPS、FTP和其他广泛使用的互联网协议检索文件。wget 是非交互式的命令行工具,由 World Wide Web 和 get 得名。wget 相对于其他工具来说更优秀,功能包括后台运行、递归下载、多文件下载、断点续传、非交互式下载和大文件下载。 +[wget 命令][4](前身是 Geturl)是一个自由开源的命令行下载工具,通过 HTTP、HTTPS、FTP 和其他广泛使用的互联网协议获取文件。`wget` 是非交互式的命令行工具,由 World Wide Web 和 get 得名。`wget` 相对于其他工具来说更优秀,功能包括后台运行、递归下载、多文件下载、断点续传、非交互式下载和大文件下载。 ``` # wget -S --spider https://www.magesh.co.in @@ -158,7 +160,7 @@ Remote file exists and could contain further links, but recursion is disabled -- not retrieving. ``` -如果你只想看 HTTP 状态码而不是返回的全部结果,用下面的 wget 命令: +如果你只想看 HTTP 状态码而不是返回的全部结果,用下面的 `wget` 命令: ``` # wget --spider -S "www.magesh.co.in" 2>&1 | awk '/HTTP\// {print $2}' @@ -178,7 +180,7 @@ else fi ``` -当你把脚本内容添加到一个文件后,执行文件,查看结果 +当你把脚本内容添加到一个文件后,执行文件,查看结果: ``` # wget-url-check.sh @@ -221,7 +223,7 @@ www.xyzzz.com is down ### 方法 5:使用 lynx 命令检测一个网站是否宕机 -**[lynx][5]** 是一个在可寻址光标字符单元终端上使用的基于文本的高度可配的 web 浏览器,它是最古老的 web 浏览器并且现在仍在开发。 +[lynx][5] 是一个在可寻址光标字符单元终端cursor-addressable character cell terminals上使用的基于文本的高度可配的 web 浏览器,它是最古老的 web 浏览器并且现在仍在活跃开发。 ``` # lynx -head -dump http://www.magesh.co.in @@ -240,7 +242,7 @@ Server: cloudflare CF-RAY: 535fc5704a43e694-LHR ``` -如果你只想看 HTTP 状态码而不是返回的全部结果,用下面的 lynx 命令: +如果你只想看 HTTP 状态码而不是返回的全部结果,用下面的 `lynx` 命令: ``` # lynx -head -dump https://www.magesh.co.in 2>&1 | awk '/HTTP\// {print $2}' @@ -260,7 +262,7 @@ else fi ``` -当你把脚本内容添加到一个文件后,执行文件,查看结果 +当你把脚本内容添加到一个文件后,执行文件,查看结果: ``` # sh lynx-url-check.sh @@ -303,7 +305,7 @@ www.xyzzz.com is down ### 方法 6:使用 ping 命令检测一个网站是否宕机 -**[ping 命令][1]** (Packet Internet Groper)是网络工具的代表,用于在互联网协议(IP)的网络中测试一个目标主机是否可用/可连接。通过向目标主机发送 ICMP 回应请求报文包并等待 ICMP 回应响应报文来检测主机的可用性。它基于已发送的包、接收到的包和丢失了的包来统计结果数据,通常包含最小/平均/最大响应时间。 +[ping 命令][1](Packet Internet Groper)是网络工具的代表,用于在互联网协议(IP)的网络中测试一个目标主机是否可用/可连接。通过向目标主机发送 ICMP 回应请求报文包并等待 ICMP 回应响应报文来检测主机的可用性。它基于已发送的包、接收到的包和丢失了的包来统计结果数据,通常包含最小/平均/最大响应时间。 ``` # ping -c 5 2daygeek.com @@ -320,9 +322,9 @@ PING 2daygeek.com (104.27.157.177) 56(84) bytes of data. rtt min/avg/max/mdev = 170.668/213.824/250.295/28.320 ms ``` -### 方法 7:使用 telnet 命令检测一个网站是否宕机 +### 附加 1:使用 telnet 命令检测一个网站是否宕机 -telnet 命令是一个使用 TELNET 协议用于 TCP/IP 网络中多个主机相互通信的古老的网络协议。它通过 23 端口连接其他设备如计算机和网络设备。telnet 是不安全的协议,现在由于用这个协议发送的数据没有经过加密可能被黑客拦截,所以不推荐使用。大家都使用经过加密且非常安全的 SSH 协议来代替 telnet。 +`telnet` 命令是一个使用 TELNET 协议用于 TCP/IP 网络中多个主机相互通信的古老的网络协议。它通过 23 端口连接其他设备如计算机和网络设备。`telnet` 是不安全的协议,现在由于用这个协议发送的数据没有经过加密可能被黑客拦截,所以不推荐使用。大家都使用经过加密且非常安全的 SSH 协议来代替 `telnet`。 ``` # telnet google.com 80 @@ -335,11 +337,11 @@ telnet> quit Connection closed. ``` -### 方法 8:使用 bash 脚本检测一个网站是否宕机 +### 附加 2:使用 bash 脚本检测一个网站是否宕机 -简而言之,一个 **[shell 脚本][6]** 就是一个包含一系列命令的文件。shell 从文件读取内容按输入顺序逐行在命令行执行。为了让它更有效,我们添加一些条件。这也减轻了 Linux 管理员的负担。 +简而言之,一个 [shell 脚本][6] 就是一个包含一系列命令的文件。shell 从文件读取内容按输入顺序逐行在命令行执行。为了让它更有效,我们添加一些条件。这也减轻了 Linux 管理员的负担。 -如果你想想用 wget 命令看多个网站的状态,使用下面的 shell 脚本: +如果你想想用 `wget` 命令看多个网站的状态,使用下面的 shell 脚本: ``` # vi wget-url-check-2.sh @@ -365,7 +367,7 @@ google.co.in is up www.xyzzz.com is down ``` -如果你想想用 wget 命令看多个网站的状态,使用下面的 **[shell 脚本][7]**: +如果你想用 `wget` 命令看多个网站的状态,使用下面的 [shell 脚本][7]: ``` # vi curl-url-check-2.sh @@ -398,7 +400,7 @@ via: https://www.2daygeek.com/linux-command-check-website-is-up-down-alive/ 作者:[Magesh Maruthamuthu][a] 选题:[lujun9972][b] 译者:[lxbwolf](https://github.com/lxbwolf) -校对:[校对者ID](https://github.com/校对者ID) +校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出