Verbesserung der Telegram Messages

This commit is contained in:
kai
2026-04-21 14:46:02 +00:00
parent c85bb99eb4
commit b9d76ca08c
+29 -17
View File
@@ -10,6 +10,7 @@ TELEGRAM_CHAT_ID="${TELEGRAM_CHAT_ID:-581059353}"
REBOOT=0 REBOOT=0
DOCKER_UPDATES=0 DOCKER_UPDATES=0
DOCKER_UPDATE_LIST="" DOCKER_UPDATE_LIST=""
DOCKER_MSG=""
log() { log() {
echo "[$(date '+%F %T')] $1" | tee -a "$LOG" echo "[$(date '+%F %T')] $1" | tee -a "$LOG"
@@ -35,20 +36,24 @@ cleanup_on_error() {
trap 'cleanup_on_error ${LINENO}' ERR trap 'cleanup_on_error ${LINENO}' ERR
check_docker_updates() { check_docker_updates() {
if ! command -v docker >/dev/null 2>&1; then if ! command -v docker >/dev/null 2>&1; then
log "Docker nicht installiert" DOCKER_MSG="🚫 Docker: nicht installiert"
return return
fi fi
if ! docker info >/dev/null 2>&1; then if ! docker info >/dev/null 2>&1; then
log "Docker Daemon nicht erreichbar" DOCKER_MSG="⚠️ Docker: Daemon nicht erreichbar"
return return
fi fi
local containers local containers
mapfile -t containers < <(docker ps -q) mapfile -t containers < <(docker ps -q)
log "Prüfe ${#containers[@]} Container" if [ "${#containers[@]}" -eq 0 ]; then
DOCKER_MSG="🐳 Docker: keine Container aktiv"
return
fi
for cid in "${containers[@]}"; do for cid in "${containers[@]}"; do
local name image running_id latest_id local name image running_id latest_id
@@ -62,13 +67,19 @@ check_docker_updates() {
if [[ -n "$latest_id" && "$running_id" != "$latest_id" ]]; then if [[ -n "$latest_id" && "$running_id" != "$latest_id" ]]; then
DOCKER_UPDATES=$((DOCKER_UPDATES + 1)) DOCKER_UPDATES=$((DOCKER_UPDATES + 1))
DOCKER_UPDATE_LIST+=$'\n'"🐳 $name ($image)" DOCKER_UPDATE_LIST+=$'\n'"🐳 ${name} (${image})"
log "Update verfügbar: $name"
fi fi
done done
if [ "$DOCKER_UPDATES" -gt 0 ]; then
DOCKER_MSG="🐳 Docker Updates: ${DOCKER_UPDATES}${DOCKER_UPDATE_LIST}"
else
DOCKER_MSG="🐳 Docker: aktuell"
fi
} }
main() { main() {
mkdir -p "$(dirname "$LOG")" mkdir -p "$(dirname "$LOG")"
touch "$LOG" touch "$LOG"
@@ -89,24 +100,25 @@ main() {
check_docker_updates check_docker_updates
local msg="🐧 ${HOST}: Update abgeschlossen" local msg
msg=$(cat <<EOF
🐧 System Update Report
━━━━━━━━━━━━━━━
🖥 Host: ${HOST}
if [ "$REBOOT" -eq 1 ]; then $( [ "$REBOOT" -eq 1 ] && echo "🔄 Reboot: erforderlich" || echo "✔ Reboot: nicht nötig" )
msg+="\n🔄 Reboot erforderlich"
else
msg+="\n✔ Kein Reboot nötig"
fi
if [ "$DOCKER_UPDATES" -gt 0 ]; then ${DOCKER_MSG}
msg+="\n\n🐳 Docker Updates:${DOCKER_UPDATE_LIST}"
else ━━━━━━━━━━━━━━━
msg+="\n\n🐳 Docker aktuell" 📅 $(date '+%F %T')
fi EOF
)
log "Sende Telegram" log "Sende Telegram"
send_telegram "$msg" send_telegram "$msg"
log "=== Update Ende ===" log "=== Update Ende ${HOST} ==="
if [ "$REBOOT" -eq 1 ]; then if [ "$REBOOT" -eq 1 ]; then
reboot reboot