Verbesserung der Telegram Messages
This commit is contained in:
+29
-17
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user