1
0
Fork 0
mirror of https://github.com/munin-monitoring/contrib.git synced 2025-07-21 02:33:18 +00:00
Munin-Contrib/plugins/other/pacman_pending_updates
Lars Kruse 398a3ab289 Plugin pacman_pending_updates: switch to simple shell
The plugin did not use any bash-specific features.
2021-08-08 15:55:41 +02:00

80 lines
1.3 KiB
Bash
Executable file

#!/bin/sh
: <<=cut
=head1 NAME
pacman_pending_updates - Plugin to monitor pending updates
=head1 APPLICABLE SYSTEMS
All systems with pacman as their package manager.
=head1 CONFIGURATION
The plugin needs no additional configuration and works out of the box.
=head1 INTERPRETATION
This plugin will draw one line: the number of updates pending.
=head1 MAGIC MARKERS
#%# family=auto
#%# capabilities=autoconf
=head1 VERSION
1.1.1
=head1 AUTHOR
Bert Peters <bert@bertptrs.nl>
=head1 LICENSE
GPLv2
=cut
case $1 in
config)
cat <<'EOM'
graph_args --base 1000 -l 0
graph_title Pending updates
graph_vlabel updates
graph_category security
updates.label updates
updates.info Current number of pending updates
EOM
;;
autoconf)
if hash checkupdates >/dev/null 2>&1; then
echo yes
else
echo "no (checkupdates not found)"
fi
;;
*)
updates="$(checkupdates)"
exitcode=$?
if [ "$exitcode" = 0 ]; then
if [ -n "$updates" ]; then
echo "updates.value $(echo "$updates" | wc -l)"
echo "updates.extinfo $(echo "$updates" | paste -s -d,)"
else
echo "updates.value 0"
fi
elif [ "$exitcode" = 2 ]; then
# Surprisingly "checkupdates" returns the exitcode 2, if all packages are
# up to date.
echo "updates.value 0"
else
echo "updates.value U"
fi
;;
esac
exit 0