#!/bin/bash current_time=`date +"%Y-%m-%d %H:%M:%S"` echo '海普天门禁设备自动切换开门方式定时任务......' #设备列表 #device_list=('http://192.168.69.121:80' 'http://192.168.69.121:80') device_list=('http://20.20.66.231:80' 'http://20.20.66.234:80' 'http://20.20.66.236:80' 'http://20.20.66.232:80' 'http://20.20.66.233:80' 'http://20.20.66.235:80') #设备用户名密码 #device_user_password='admin:admin' device_user_password='admin:yzx123456.' base64_str=$(echo -n $device_user_password | base64) #设置门禁开门方式 0默认 人脸开门 3人脸核验+远程开门 function setOpenDoorMode(){ echo "$2" response=$(curl -s -o /dev/null -w "%{http_code}" --connect-timeout 1 --max-time 1 --retry 2 --location $1'/action/SetDoorCondition' --header 'Content-Type: application/json' --header 'Authorization: Basic '${base64_str} --data '{"operator":"SetDoorCondition","info":{"OpendoorWay":'$2'}}') echo $response } #检测服务器服务状态 function checkServiceStatus(){ #检测青白江指定服务是否可用 #service='http://118.89.136.154:9009/parent/faceDeviceCallBack/subscribe' service='http://192.168.12.181:9009/parent/faceDeviceCallBack/subscribe' response=$(curl -s -o /dev/null -w "%{http_code}" --max-time 3 --location $service --header 'Content-Type: application/json' --data '{"operator":"来至祥福穿透服务器的消息,测试服务是否可用","info":{"DeviceID":0}}') echo $response } service_status=$(checkServiceStatus) #判断服务器服务是否可用 if [ $service_status -eq 200 ] then for item in ${device_list[*]} do echo "[$current_time]服务正常,切换设备:$item,开门方式为:人脸核验+远程开门方式" setOpenDoorMode $item 3 #人脸核验+远程开门 done else for item in ${device_list[*]} do echo "[$current_time]服务不可用,切换设备:$item,开门方式为:人脸开门" setOpenDoorMode $item 0 #人脸开门 done fi