* fixes for running on FreeBSD w/ small process quota
parent
e3d1559cd6
commit
8dbd07bb12
|
@ -8,12 +8,12 @@ for i in $json; do
|
||||||
label="$(awk -F<> '{print $1}' <<< "$i")"
|
label="$(awk -F<> '{print $1}' <<< "$i")"
|
||||||
label_sha="$(shasum <<< "$label" | cut -c 1-16)"
|
label_sha="$(shasum <<< "$label" | cut -c 1-16)"
|
||||||
addr="$(awk -F<> '{print $2}' <<< "$i")"
|
addr="$(awk -F<> '{print $2}' <<< "$i")"
|
||||||
res="$(ping -c 1 -W 1.5 $addr > >(grep icmp_seq | sed -E 's/.*icmp_seq=1//'))"
|
res="$(ping -c 1 $addr > >(grep icmp_seq | sed -E 's/.*icmp_seq=.//'))"
|
||||||
status=$?
|
status=$?
|
||||||
|
|
||||||
if [[ "$status" == 0 ]]; then
|
if [[ "$status" == 0 ]]; then
|
||||||
if [[ "$res" == *"time"* ]]; then
|
if [[ "$res" == *"time"* ]]; then
|
||||||
res_parsed="$(grep -Poh "time=.*?ms" <<< "$res" | sed -E 's/time=//g;s/ms//g' | tr -d ' ')"
|
res_parsed="$(grep -Eoh "time=.*ms" <<< "$res" | sed -E 's/time=//g;s/ms//g' | tr -d ' ')"
|
||||||
else
|
else
|
||||||
res_parsed='#'
|
res_parsed='#'
|
||||||
fi
|
fi
|
||||||
|
|
|
@ -16,13 +16,13 @@ for i in $json; do
|
||||||
[[ "$method" == '' ]] && method="GET"
|
[[ "$method" == '' ]] && method="GET"
|
||||||
|
|
||||||
if [[ "$match" == "body" ]]; then
|
if [[ "$match" == "body" ]]; then
|
||||||
res="$(curl -A "${cfg[useragent]}" -s -X "$method" "$url" --data "$data" | grep -P "$string")"
|
res="$(curl -A "${cfg[useragent]}" -s -X "$method" "$url" --data "$data" | grep -E "$string")"
|
||||||
status=$?
|
status=$?
|
||||||
elif [[ "$match" == "head" ]]; then
|
elif [[ "$match" == "head" ]]; then
|
||||||
res="$(curl -A "${cfg[useragent]}" -sD - -o /dev/null -X "$method" "$url" --data "$data" | grep -P "$string")"
|
res="$(curl -A "${cfg[useragent]}" -sD - -o /dev/null -X "$method" "$url" --data "$data" | grep -E "$string")"
|
||||||
status=$?
|
status=$?
|
||||||
elif [[ "$match" == "status" ]]; then
|
elif [[ "$match" == "status" ]]; then
|
||||||
res="$(curl -A "${cfg[useragent]}" -sD - -o /dev/null -X "$method" "$url" --data "$data" | grep -P "HTTP.*? $string")"
|
res="$(curl -A "${cfg[useragent]}" -sD - -o /dev/null -X "$method" "$url" --data "$data" | grep -E "HTTP.*? $string")"
|
||||||
status=$?
|
status=$?
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
|
@ -2,9 +2,5 @@
|
||||||
## your application-specific config goes here!
|
## your application-specific config goes here!
|
||||||
|
|
||||||
cfg[useragent]="dtr/1.0 (https://git.sakamoto.pl/domi/dtr)"
|
cfg[useragent]="dtr/1.0 (https://git.sakamoto.pl/domi/dtr)"
|
||||||
cfg[telegram_bot_token]=""
|
|
||||||
|
|
||||||
worker_add every_1min 60
|
worker_add checker 60
|
||||||
worker_add every_5min 300
|
|
||||||
worker_add every_30min 1800
|
|
||||||
worker_add notify 60
|
|
||||||
|
|
|
@ -0,0 +1,27 @@
|
||||||
|
#!/bin/bash
|
||||||
|
if [[ "$counter5" == '' ]]; then
|
||||||
|
counter5=5
|
||||||
|
else
|
||||||
|
counter5=$((counter5+1))
|
||||||
|
fi
|
||||||
|
if [[ "$counter30" == '' ]]; then
|
||||||
|
counter30=30
|
||||||
|
else
|
||||||
|
counter30=$((counter30+1))
|
||||||
|
fi
|
||||||
|
|
||||||
|
source "${cfg[namespace]}/code/ping.sh" every_1min
|
||||||
|
source "${cfg[namespace]}/code/req.sh" every_1min
|
||||||
|
|
||||||
|
if [[ $counter30 == 30 ]]; then
|
||||||
|
source "${cfg[namespace]}/code/ping.sh" every_30min
|
||||||
|
source "${cfg[namespace]}/code/req.sh" every_30min
|
||||||
|
counter30=0
|
||||||
|
fi
|
||||||
|
if [[ $counter5 == 5 ]]; then
|
||||||
|
source "${cfg[namespace]}/code/ping.sh" every_5min
|
||||||
|
source "${cfg[namespace]}/code/req.sh" every_5min
|
||||||
|
counter5=0
|
||||||
|
fi
|
||||||
|
|
||||||
|
source "${cfg[namespace]}/code/notify.sh"
|
|
@ -1,3 +0,0 @@
|
||||||
#!/bin/bash
|
|
||||||
source "${cfg[namespace]}/code/ping.sh" every_1min
|
|
||||||
source "${cfg[namespace]}/code/req.sh" every_1min
|
|
|
@ -1,3 +0,0 @@
|
||||||
#!/bin/bash
|
|
||||||
source "${cfg[namespace]}/code/ping.sh" every_30min
|
|
||||||
source "${cfg[namespace]}/code/req.sh" every_30min
|
|
|
@ -1,3 +0,0 @@
|
||||||
#!/bin/bash
|
|
||||||
source "${cfg[namespace]}/code/ping.sh" every_5min
|
|
||||||
source "${cfg[namespace]}/code/req.sh" every_5min
|
|
|
@ -1,2 +0,0 @@
|
||||||
#!/bin/bash
|
|
||||||
source "${cfg[namespace]}/code/notify.sh"
|
|
Loading…
Reference in New Issue