#!/bin/bash # Cache the file for 30 minutes # If you want to override this, put the command in cron. # We cache because it is a 1sec delay, which is painful for the poller if [ -x /usr/bin/dpkg-query ]; then DATE=$(date +%s) FILE=/var/cache/librenms/agent-local-dpkg [ -d /var/cache/librenms ] || mkdir -p /var/cache/librenms if [ ! -e "$FILE" ]; then dpkg-query -W --showformat='${Status} ${Package} ${Version} ${Architecture} ${Installed-Size}\n'|grep " installed "|cut -d\ -f4- > "$FILE" fi FILEMTIME=$(stat -c %Y "$FILE") FILEAGE=$((DATE - FILEMTIME)) if [ "$FILEAGE" -gt 1800 ]; then dpkg-query -W --showformat='${Status} ${Package} ${Version} ${Architecture} ${Installed-Size}\n'|grep " installed "|cut -d\ -f4- > "$FILE" fi echo "<<>>" cat "$FILE" fi