就写了个脚本自动访问Domoticz链接查询状态。如果访问失败就自动重启容器。
脚本check_domoticz.sh文件内容如下:
代码: 全选
#!/bin/bash
# 定义要监测的HTTP服务的URL
URL="https://192.168.123.10:443/json.htm?type=command¶m=getSunRiseSet"
# 定义要重启的Docker容器的名称
CONTAINER_NAME="domoticz"
# 定义重启容器的命令
RESTART_COMMAND="docker restart $CONTAINER_NAME"
# 监测HTTP服务状态并解析返回的JSON数据
HTTP_STATUS=$(curl --insecure -s -o /dev/null -w "%{http_code}" $URL)
if [ "$HTTP_STATUS" -eq 200 ]; then
echo "DomoticzHTTPS服务请求成功"
domoticz_status=$(curl --insecure -s "$URL" | jq -r '.status')
if [ "$domoticz_status"="OK" ]; then
echo "Domoticz运行正常"
else
echo "Domoticz运行不正常,将重启容器..."
# 执行重启容器的命令
$RESTART_COMMAND
echo "Domoticz容器已重启。"
fi
else
echo "DomoticzHTTPS服务请求失败,将重启容器..."
# 执行重启容器的命令
$RESTART_COMMAND
echo "Domoticz容器已重启。"
fi
代码: 全选
*/5 * * * * /root/domoticz/config/check_domoticz.sh