Add a daily script to the periodic framework that reports

changes to the package database, i.e. any packages that
have been added, updated or deleted in the past 24 hours.
The format is intentionally simple and concise.

That information is particularly useful on servers that
are maintained by multiple administrators.  When someone
adds, updates or deletes a package, the others will see
it in the daily periodic output.

This script is disabled by default.

PR:		conf/113913
Submitted by:	olli
Approved by:	des (mentor)
MFC after:	3 weeks
This commit is contained in:
olli 2010-08-05 15:53:33 +00:00
parent 455a0fe881
commit d1b61616fa
2 changed files with 46 additions and 0 deletions

View File

@ -136,6 +136,9 @@ daily_status_named_usedns="YES" # DNS lookups are ok
# 480.status-ntpd
daily_status_ntpd_enable="NO" # Check NTP status
# 490.status-pkg-changes
daily_status_pkg_changes_enable="NO" # Show package changes
# 500.queuerun
daily_queuerun_enable="YES" # Run mail queue
daily_submit_queuerun="YES" # Also submit queue

View File

@ -0,0 +1,43 @@
#!/bin/sh
#
# $FreeBSD$
#
# If there is a global system configuration file, suck it in.
#
if [ -r /etc/defaults/periodic.conf ]; then
. /etc/defaults/periodic.conf
source_periodic_confs
fi
case "$daily_status_pkg_changes_enable" in
[Yy][Ee][Ss])
if [ ! -f /usr/sbin/pkg_info ]; then
echo '$daily_status_pkg_changes_enable is enabled but' \
"/usr/sbin/pkg_info doesn't exist"
rc=2
else
bak=/var/backups
rc=0
if [ -f $bak/pkg_info.bak ]; then
mv -f $bak/pkg_info.bak $bak/pkg_info.bak2
fi
/usr/sbin/pkg_info > $bak/pkg_info.bak
cmp -sz $bak/pkg_info.bak $bak/pkg_info.bak2
if [ $? -eq 1 ]; then
echo ""
echo "Changes in installed packages:"
diff -U 0 $bak/pkg_info.bak2 $bak/pkg_info.bak \
| grep '^[-+][^-+]' | sort -k 1.2
fi
fi
;;
*)
rc=0
;;
esac
exit $rc