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:
Oliver Fromme 2010-08-05 15:53:33 +00:00
parent b3cae08659
commit 6ece019fcf
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=210863
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