我想重新启动阿帕奇服务器,当它关闭时。因此我在下面使用编写了一个脚本卷曲和如果环形
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
每个命令之后