#!/bin/bash terminate() { printf "\n=========================================================================== - Containers running......: (Waiting for first update)\n" > $STATUSFILE exit 0 } trap "terminate" 15 STATUSFILE=/var/local/podman-status STATUSFILE_TMP=/tmp/podman-status echo "Starting podman status generator..." | systemd-cat -t podman-status echo "Waiting 60 seconds before acquiring status" sleep 60 while true; do #printf "" > $STATUSFILE_TMP PODMAN_CONTAINERS=($(podman ps -q)) PODMAN_N_RUNNING=${#PODMAN_CONTAINERS[@]} UPDATED_DATE=$(date --date="Today 00:00" +%s) UPDATED=$(date +%s) echo "$UPDATED_DATE" > $STATUSFILE_TMP printf "=========================================================================== - Containers running......: $PODMAN_N_RUNNING (updated WHEN at $(date +%H:%M:%S))\n" >> $STATUSFILE_TMP for c in ${PODMAN_CONTAINERS[@]}; do C_NAME=$(podman ps --filter "id=$c" --format "{{.Names}}") [[ "$(echo $C_NAME | grep -q infra)" == 0 ]] C_UP=$(podman ps --filter "id=$c" --format "{{.RunningFor}}") C_STATUS=$(podman ps --filter "id=$c" --format "{{.Status}}") C_PORTS=$(podman ps --filter "id=$c" --format "{{.Ports}}") printf "\r\ - .....................: Created $C_UP, $C_STATUS\r - $C_NAME\n" >> $STATUSFILE_TMP done #printf "===========================================================================\n" >> $STATUSFILE_TMP cat $STATUSFILE_TMP > $STATUSFILE rm -f $STATUSFILE_TMP #echo "Updated podman status @$(date)" | systemd-cat -t podman-status sleep 60 done