AI Newsletter Digest improvements: fixed QP soft line break decoding, URL extraction, and content cleaning
This commit is contained in:
44
skills/openclaw-self-healing/scripts/healthcheck-ping.sh
Normal file
44
skills/openclaw-self-healing/scripts/healthcheck-ping.sh
Normal file
@@ -0,0 +1,44 @@
|
||||
#!/bin/bash
|
||||
# Healthchecks.io Dead Man's Switch Ping
|
||||
# 크론잡 성공 시 호출 → 예상 시간에 ping 안 오면 알림
|
||||
#
|
||||
# 사용법:
|
||||
# 성공: healthcheck-ping.sh <slug>
|
||||
# 시작: healthcheck-ping.sh <slug> /start
|
||||
# 실패: healthcheck-ping.sh <slug> /fail
|
||||
#
|
||||
# 크론에서:
|
||||
# healthcheck-ping.sh guardian/start && guardian.sh && healthcheck-ping.sh guardian
|
||||
#
|
||||
# 설정: ~/.openclaw/healthchecks.json 에 ping URL 저장
|
||||
|
||||
HC_CONFIG="$HOME/.openclaw/healthchecks.json"
|
||||
|
||||
if [[ ! -f "$HC_CONFIG" ]]; then
|
||||
# 설정 없으면 무시 (graceful skip)
|
||||
exit 0
|
||||
fi
|
||||
|
||||
PING_BASE=$(jq -r '.ping_url' "$HC_CONFIG" 2>/dev/null)
|
||||
if [[ -z "$PING_BASE" ]] || [[ "$PING_BASE" == "null" ]]; then
|
||||
exit 0
|
||||
fi
|
||||
|
||||
SLUG="${1:-}"
|
||||
ACTION="${2:-}"
|
||||
|
||||
if [[ -z "$SLUG" ]]; then
|
||||
echo "Usage: healthcheck-ping.sh <slug> [/start|/fail]" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# UUID 매핑 (slug → uuid)
|
||||
UUID=$(jq -r ".checks[\"$SLUG\"] // empty" "$HC_CONFIG" 2>/dev/null)
|
||||
|
||||
if [[ -z "$UUID" ]]; then
|
||||
# slug 자체가 UUID일 수 있음
|
||||
UUID="$SLUG"
|
||||
fi
|
||||
|
||||
# Ping 전송 (5초 타임아웃, 최대 3회 재시도)
|
||||
curl -fsS -m 5 --retry 3 "${PING_BASE}/${UUID}${ACTION}" > /dev/null 2>&1 || true
|
||||
Reference in New Issue
Block a user