📅  最后修改于: 2023-12-03 14:48:08.381000             🧑  作者: Mango
在使用 Ubuntu 操作系统时,经常需要定期检查网站的可用性。实现这个目的的方法之一是使用 Shell/Bash 脚本编写一个自动化工具,该工具可以在指定时间间隔内检查一个或多个站点的可用性。
以下是一个简单的 Shell/Bash 脚本,用于检查一个站点的可用性。请确保使用正确的网站 URL。在此示例中,我们使用了 Google。
#!/bin/bash
# Define the URL to be checked
url=https://www.google.com/
# Check the URL
status_code=$(curl --connect-timeout 5 --head -sL -w "%{http_code}" $url -o /dev/null)
# If the status code is not 200, send an email
if [[ "$status_code" -ne 200 ]]; then
echo "$url is not available. Status code: $status_code" | mail -s "Site Down Alert" your-email@example.com
fi
这个脚本使用 curl
命令来检查 URL 并获取 HTTP 状态码。如果状态码不是 200,则发送一封电子邮件通知您网站不可用。
检查多个站点的可用性:
可以使用循环和数组来检查多个站点的可用性。可以将网站 URL 存储在数组中,并使用循环迭代检查每个 URL。
网站检查的时间间隔:
您可以使用 cron 作业来定期运行脚本。您可以使用 /etc/crontab
文件或 crontab -e
命令添加 cron 作业。
如下示例将在每天的凌晨 1 点和下午 1:30 运行脚本:
0 1,13 * * * /path/to/check-sites.sh
用邮件通知外部:
您可以使用 mail
命令将电子邮件发送到您的电子邮件地址。但是,请注意,此方法需要本地邮件服务器或外部 SMTP 服务器。或者,您可以使用其他的第三方服务如 Mailgun 或 SendGrid 来发送邮件通知。
用 Shell/Bash 编写一个脚本检查网站的可用性是一种简单而高效的方法。您可以将脚本放入 cron 作业中,以定期检查网站的可用性,节省时间和精力。