Thông tin liên hệ
- 036.686.3943
- admin@nguoicodonvn2008.info
Hướng dẫn này sẽ chỉ cho bạn cách kiểm tra nhanh xem một trang web cụ thể đang hoạt động hay không từ Linux Terminal.
Bạn có thể đã biết một số lệnh để xác minh về điều này, cụ thể là ping, curl và wget. Nhưng bài viết đã thêm một số lệnh khác trong hướng dẫn này.
Ngoài ra, bài viết cũng đã thêm nhiều tùy chọn khác nhau để kiểm tra thông tin này cho một và nhiều máy chủ.
Bài viết này sẽ giúp bạn kiểm tra xem trang web có đang hoạt động hay không. Nhưng nếu bạn duy trì một số trang web và muốn nhận thông báo theo thời gian thực khi trang web ngừng hoạt động, bạn nên sử dụng các công cụ giám sát trang web theo thời gian thực. Có nhiều công cụ cho việc này, một vài tùy chọn trong số đó là miễn phí và hầu hết những cái còn lại yêu cầu phải trả tiền. Vì vậy, hãy chọn một công cụ yêu thích dựa trên nhu cầu của bạn.
Lệnh fping là một chương trình như ping, sử dụng Internet Control Message Protocol (ICMP) echo request để xác định xem máy chủ đích có phản hồi hay không.
fping khác với ping vì nó cho phép người dùng ping bất kỳ số lượng máy chủ nào đồng thời. Ngoài ra, máy chủ có thể được nhập từ một file văn bản.
fping gửi ICMP echo request, di chuyển sang mục tiêu tiếp theo theo kiểu vòng tròn, chứ không đợi cho đến khi máy chủ đích phản hồi.
Nếu một máy chủ đích phản hồi, nó được ghi chú là hoạt động và bị xóa khỏi danh sách các mục tiêu cần kiểm tra. Nếu mục tiêu không phản hồi trong một giới hạn thời gian nhất định và/hoặc giới hạn thử lại, nó sẽ được nhận định là không thể truy cập.
# fping 2daygeek.com linuxtechnews.com magesh.co.in
2daygeek.com is alive
linuxtechnews.com is alive
magesh.co.in is alive
HTTPie (phát âm là aitch-tee-tee-pie) là một HTTP client dòng lệnh.
Công cụ HTTPie là một HTTP client dòng lệnh hiện đại, giúp tương tác CLI với các web service.
Nó cung cấp một lệnh HTTP đơn giản cho phép gửi các yêu cầu HTTP tùy ý, bằng cách sử dụng cú pháp đơn giản và hiển thị đầu ra được thêm màu.
HTTPie có thể được sử dụng để kiểm thử, gỡ lỗi và thường tương tác với các máy chủ HTTP.
# http 2daygeek.com
HTTP/1.1 301 Moved Permanently
CF-RAY: 535b66722ab6e5fc-LHR
Cache-Control: max-age=3600
Connection: keep-alive
Date: Thu, 14 Nov 2019 19:30:28 GMT
Expires: Thu, 14 Nov 2019 20:30:28 GMT
Location: https://2daygeek.com/
Server: cloudflare
Transfer-Encoding: chunked
Vary: Accept-Encoding
Lệnh curl là một công cụ để truyền dữ liệu từ máy chủ hoặc đến máy chủ, sử dụng một trong các giao thức được hỗ trợ (DICT, FILE, FTP, FTPS, GOPHER, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, POP3, POP3S, RTMP, RTSP, SCP, SFTP, SMTP, SMTPS, TELNET và TFTP).
Lệnh được thiết kế để hoạt động mà không cần sự tương tác của người dùng.
Lệnh curl hỗ trợ proxy, xác thực người dùng, upload lên FTP, HTTP post, kết nối SSL, cookie, tóm tắt về quá trình chuyển file, Metalink, v.v...
# curl -I https://www.magesh.co.in
HTTP/2 200
date: Thu, 14 Nov 2019 19:39:47 GMT
content-type: text/html
set-cookie: __cfduid=db16c3aee6a75c46a504c15131ead3e7f1573760386; expires=Fri, 13-Nov-20 19:39:46 GMT; path=/; domain=.magesh.co.in; HttpOnly
vary: Accept-Encoding
last-modified: Sun, 14 Jun 2015 11:52:38 GMT
x-cache: HIT from Backend
cf-cache-status: DYNAMIC
expect-ct: max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"
server: cloudflare
cf-ray: 535b74123ca4dbf3-LHR
Hãy sử dụng lệnh curl sau nếu bạn chỉ muốn xem mã trạng thái HTTP thay vì toàn bộ đầu ra:
# curl -I "www.magesh.co.in" 2>&1 | awk '/HTTP\// {print $2}'
200
Nếu bạn muốn xem một trang web cụ thể có hoạt động hay không, hãy sử dụng Bash script sau.
# vi curl-url-check.sh
#!/bin/bash
if curl -I "https://www.magesh.co.in" 2>&1 | grep -w "200\|301" ; then
echo "magesh.co.in is up"
else
echo "magesh.co.in is down"
fi
Khi bạn đã thêm script trên vào một file, hãy chạy file để xem đầu ra.
# sh curl-url-check.sh
HTTP/2 200
magesh.co.in is up
Sử dụng shell script sau nếu bạn muốn xem trạng thái của nhiều trang web.
# vi curl-url-check-1.sh
#!/bin/bash
for site in www.google.com google.co.in www.xyzzz.com
do
if curl -I "$site" 2>&1 | grep -w "200\|301" ; then
echo "$site is up"
else
echo "$site is down"
fi
echo "----------------------------------"
done
Khi bạn đã thêm script trên vào một file, hãy chạy file để xem đầu ra.
# sh curl-url-check-1.sh
HTTP/1.1 200 OK
www.google.com is up
----------------------------------
HTTP/1.1 301 Moved Permanently
google.co.in is up
----------------------------------
www.xyzzz.com is down
----------------------------------
Lệnh wget (trước đây gọi là Geturl) là một công cụ tải xuống dòng lệnh miễn phí, mã nguồn mở, truy xuất các file bằng HTTP, HTTPS và FTP, những giao thức Internet được sử dụng rộng rãi nhất.
Lệnh wget là một công cụ dòng lệnh không tương tác. Tên của nó được lấy từ World Wide Web và get.
Wget xử lý việc tải xuống khá nhiều so với các công cụ khác, dự kiến bao gồm làm việc ở chế độ nền, tải xuống nhiều file, tải xuống không tương tác và tải xuống file lớn, v.v...
# wget -S --spider https://www.magesh.co.in
Spider mode enabled. Check if remote file exists.
--2019-11-15 01:22:00-- https://www.magesh.co.in/
Loaded CA certificate '/etc/ssl/certs/ca-certificates.crt'
Resolving www.magesh.co.in (www.magesh.co.in)… 104.18.35.52, 104.18.34.52, 2606:4700:30::6812:2334, …
Connecting to www.magesh.co.in (www.magesh.co.in)|104.18.35.52|:443… connected.
HTTP request sent, awaiting response…
HTTP/1.1 200 OK
Date: Thu, 14 Nov 2019 19:52:01 GMT
Content-Type: text/html
Connection: keep-alive
Set-Cookie: __cfduid=db73306a2f1c72c1318ad4709ef49a3a01573761121; expires=Fri, 13-Nov-20 19:52:01 GMT; path=/; domain=.magesh.co.in; HttpOnly
Vary: Accept-Encoding
Last-Modified: Sun, 14 Jun 2015 11:52:38 GMT
X-Cache: HIT from Backend
CF-Cache-Status: DYNAMIC
Expect-CT: max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"
Server: cloudflare
CF-RAY: 535b85fe381ee684-LHR
Length: unspecified [text/html]
Remote file exists and could contain further links,
but recursion is disabled -- not retrieving.
Sử dụng lệnh wget sau nếu bạn chỉ muốn xem mã trạng thái HTTP thay vì toàn bộ đầu ra:
# wget --spider -S "www.magesh.co.in" 2>&1 | awk '/HTTP\// {print $2}'
200
Nếu bạn muốn xem một trang web cụ thể có hoạt động không, hãy sử dụng Bash script sau:
# vi wget-url-check.sh
#!/bin/bash
if wget --spider -S "https://www.google.com" 2>&1 | grep -w "200\|301" ; then
echo "Google.com is up"
else
echo "Google.com is down"
fi
Khi bạn đã thêm script trên vào một file, hãy chạy file để xem đầu ra.
# wget-url-check.sh
HTTP/1.1 200 OK
Google.com is up
Sử dụng shell script sau nếu bạn muốn xem trạng thái của nhiều trang web.
# vi curl-url-check-1.sh #!/bin/bash for site in www.google.com google.co.in www.xyzzz.com
do
if wget --spider -S "$site" 2>&1 | grep -w "200\|301" ; then
echo "$site is up"
else
echo "$site is down"
fi
echo "----------------------------------"
done
Khi bạn đã thêm script trên vào một file, hãy chạy file để xem đầu ra.
# sh wget-url-check-1.sh
HTTP/1.1 200 OK
www.google.com is up
----------------------------------
HTTP/1.1 301 Moved Permanently
google.co.in is up
----------------------------------
www.xyzzz.com is down
----------------------------------
Lynx là một trình duyệt web dựa trên văn bản có cấu hình cao để sử dụng trên các character cell terminal (một thiết bị điện tử kỹ thuật số rất đơn giản hiển thị văn bản nhận được, thường là với một cổng nối tiếp và gửi phản hồi trở lại trên cùng một cổng) có thể định địa chỉ con trỏ. Nó là trình duyệt web lâu đời nhất và vẫn đang phát triển tích cực.
# lynx -head -dump http://www.magesh.co.in
HTTP/1.1 200 OK
Date: Fri, 15 Nov 2019 08:14:23 GMT
Content-Type: text/html
Connection: close
Set-Cookie: __cfduid=df3cb624024b81df7362f42ede71300951573805662; expires=Sat, 1
4-Nov-20 08:14:22 GMT; path=/; domain=.magesh.co.in; HttpOnly
Vary: Accept-Encoding
Last-Modified: Sun, 14 Jun 2015 11:52:38 GMT
X-Cache: HIT from Backend
CF-Cache-Status: DYNAMIC
Server: cloudflare
CF-RAY: 535fc5704a43e694-LHR
Sử dụng lệnh lynx sau nếu bạn chỉ muốn xem mã trạng thái HTTP thay vì toàn bộ đầu ra:
# lynx -head -dump https://www.magesh.co.in 2>&1 | awk '/HTTP\// {print $2}'
200
Nếu bạn muốn xem một trang web cụ thể có hoạt động không, hãy sử dụng Bash script sau:
# vi lynx-url-check.sh
#!/bin/bash
if lynx -head -dump http://www.magesh.co.in 2>&1 | grep -w "200\|301" ; then
echo "magesh.co.in is up"
else
echo "magesh.co.in is down"
fi
Khi bạn đã thêm script trên vào một file, hãy chạy file để xem đầu ra.
# sh lynx-url-check.sh
HTTP/1.1 200 OK
magesh.co.in is up
Sử dụng shell script sau nếu bạn muốn xem trạng thái của nhiều trang web.
# vi lynx-url-check-1.sh
#!/bin/bash
for site in http://www.google.com https://google.co.in http://www.xyzzz.com
do
if lynx -head -dump "$site" 2>&1 | grep -w "200\|301" ; then
echo "$site is up"
else
echo "$site is down"
fi
echo "----------------------------------"
done
Khi bạn đã thêm script trên vào một file, hãy chạy file để xem đầu ra.
# sh lynx-url-check-1.sh
HTTP/1.0 200 OK
http://www.google.com is up
----------------------------------
HTTP/1.0 301 Moved Permanently
https://google.co.in is up
----------------------------------
www.xyzzz.com is down
----------------------------------
Lệnh ping là một tiện ích mạng được sử dụng để kiểm tra tính khả dụng/khả năng kết nối của máy chủ mục tiêu trên mạng Internet Protocol (IP).
Lệnh xác nhận tính khả dụng của máy chủ bằng cách gửi các Internet Control Message Protocol (ICMP) Echo Request đến máy chủ đích và chờ ICMP Echo Reply.
Ping tóm tắt các kết quả thống kê dựa trên các gói được truyền, gói nhận được, gói bị mất (packet loss), thường bao gồm thời gian min/avg/max (tối thiểu/trung bình/tối đa).
# ping -c 5 2daygeek.com
PING 2daygeek.com (104.27.157.177) 56(84) bytes of data.
64 bytes from 104.27.157.177 (104.27.157.177): icmp_seq=1 ttl=58 time=228 ms
64 bytes from 104.27.157.177 (104.27.157.177): icmp_seq=2 ttl=58 time=227 ms
64 bytes from 104.27.157.177 (104.27.157.177): icmp_seq=3 ttl=58 time=250 ms
64 bytes from 104.27.157.177 (104.27.157.177): icmp_seq=4 ttl=58 time=171 ms
64 bytes from 104.27.157.177 (104.27.157.177): icmp_seq=5 ttl=58 time=193 ms
--- 2daygeek.com ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 13244ms
rtt min/avg/max/mdev = 170.668/213.824/250.295/28.320 ms
Lệnh telnet là một giao thức mạng cũ được sử dụng để liên lạc với một máy chủ khác qua mạng TCP/IP bằng giao thức TELNET.
Nó sử dụng cổng 23 để kết nối với các thiết bị khác, chẳng hạn như máy tính và thiết bị mạng.
Telnet không phải là một giao thức bảo mật và hiện không được khuyến khích sử dụng vì dữ liệu được gửi tới giao thức không được mã hóa và có thể bị tin tặc chặn lại.
Mọi người đều sử dụng giao thức SSH, được mã hóa và rất bảo mật, thay vì Telnet.
# telnet google.com 80
Trying 216.58.194.46…
Connected to google.com.
Escape character is '^]'.
^]
telnet> quit
Connection closed.
Nói một cách đơn giản, shell script là file chứa một chuỗi các lệnh. Shell đọc file này và thực thi từng lệnh một khi chúng được nhập trực tiếp trên dòng lệnh.
Để làm cho lệnh này hữu ích hơn, bạn có thể thêm một số điều kiện. Điều này làm giảm bớt nhiệm vụ cho quản trị viên Linux.
Nếu bạn muốn xem trạng thái của nhiều trang web bằng lệnh wget, hãy sử dụng shell script sau đây.
# vi wget-url-check-2.sh
#!/bin/bash
for site in www.google.com google.co.in www.xyzzz.com
do
if wget --spider -S "$site" 2>&1 | grep -w "200\|301" > /dev/null ; then
echo "$site is up"
else
echo "$site is down"
fi
done
Khi bạn đã thêm script trên vào một file, hãy chạy file để xem đầu ra:
# sh wget-url-check-2.sh
www.google.com is up
google.co.in is up
www.xyzzz.com is down
Nếu bạn muốn xem trạng thái của nhiều trang web bằng lệnh curl, hãy sử dụng Bash script sau:
# vi curl-url-check-2.sh
#!/bin/bash
for site in www.google.com google.co.in www.xyzzz.com
do
if curl -I "$site" 2>&1 | grep -w "200\|301" > /dev/null ; then
echo "$site is up"
else
echo "$site is down"
fi
done
Khi bạn đã thêm script trên vào một file, hãy chạy file để xem đầu ra.
# sh curl-url-check-2.sh
www.google.com is up
google.co.in is up
www.xyzzz.com is down
Chúc bạn thực hiện thành công!
Nguồn tin: Quantrimang.com
Ý kiến bạn đọc
Những tin mới hơn
Những tin cũ hơn