使用curl和shell脚本重新启动apache

使用curl和shell脚本重新启动apache

我想重新启动阿帕奇服务器,当它关闭时。因此我在下面使用编写了一个脚本卷曲如果环形

curl example.com
si='curl example.com'
if test si !=0
then
service apache2 restart
fi
~

我期待重新启动阿帕奇服务器,如果站点已关闭

但它返回以下错误

curl: (7) 无法连接到 example.com 端口 80: 连接被拒绝

autostart.sh:第 8 行:测试:si:预期一元运算符

答案1

curl如果服务器没有响应,默认情况下似乎会永远等待,因此如果必须使用curl,请与--max-time参数一起使用。 1 行脚本足以完成此任务:

curl --max-time 15 example.com || sudo service apache2 restart 

假设vahaitech.com是您的站点,如果curl在15秒内没有完成下载,则重新启动apache2服务。

答案2

例如,我认为您正在寻找上一个命令退出状态标志;

#!/bin/bash

curl example.com
if (( $? > 0 )); then
    sudo service apache2  restart
fi

这将查看curls退出状态,如果它不是0,它将重新启动apache2服务器

如果您想抑制这些命令的输出,使其不显示任何内容,请务必添加

&>/dev/null

每个命令之后

相关内容