#!/bin/bash

echo '<<<suid_bin_md5sum>>>'

CACHE_FILE="/tmp/check_mk-suid_inventory.cache"
INTERVAL=$((12 * 3600)) # 12 hours in seconds

perform_scan() {
    find / -xdev -perm -4000 -type f 2>/dev/null | while read -r file; do
        md5sum "$file"
    done > "$CACHE_FILE"
}

if [ ! -f "$CACHE_FILE" ]; then
    perform_scan
else
    LAST_MOD=$(stat -c %Y "$CACHE_FILE")
    NOW=$(date +%s)
    DIFF=$((NOW - LAST_MOD))

    if [ "$DIFF" -ge "$INTERVAL" ]; then
        perform_scan
    fi
fi

lsb_release -c 2>/dev/null
cat "$CACHE_FILE" 2>/dev/null
