用于检查网站是否以编程方式关闭的Shell脚本

时间:2014-01-27 21:12:25

标签: shell unix curl

我正在尝试开发一个简单的shell脚本来确定我的网站列表是否已关闭。我见过的大多数解决方案都涉及发出curl请求并检查返回的状态代码。

今天我遇到了两个类似的情况,那会失败。首先,我的网站的根网络文件夹以某种方式被清空,当我访问主页时,我有一个目录列表页面(即索引“/”...)。返回的状态代码是200,但网站肯定是关闭的。其次,我的主人(出于某种原因)禁用了我的网站。我收到了“网站已禁用”消息和200个响应代码。

因此,仅仅清楚地检查响应代码是不够的,但我无法预测在站点发生故障时可能显示的消息。有什么想法让我开始使用更强大的解决方案?

修改 @ Danduk82要求的更多细节:

  • 答:我不是100%肯定“root”访问的意思。我有SFTP和SSH访问权限,但我在托管它们的服务器上没有超级用户权限。它们不是我的服务器,它们位于共享主机(不是专用或虚拟根环境)上。
  • B:我现在谈的是10-12个网站。但是,我正在尝试构建一个可扩展的系统。
  • C:这些网站都托管在基于* nix的平台上。现在,我相信他们已经在FreeBSD平台上了,但他们过去曾经使用过某种版本的Linux,未来可能会再次发生变化(不在我手中)。

编辑2: 根据这里提供的答案,我做了一个小shell脚本来完成这个任务。这是gist on github的链接,以防其他人发现它有用。再次感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

我用于此类检查的一个简单方法是将text.txt文件放在根目录中,其唯一内容为works。这很容易用卷曲搜索。类似的东西:

curl /text.txt | grep -c的作品

您可以从配置文件中执行此操作:

cat file| while read line 
do
   line (curl command for every line)
done

(aprox语法,不要直接信任,因为我现在无法检查)