FreeBSD: periodic(8) is too noisy. How can I control the noise level?

Solution 1:

Place something like the following in /etc/periodic.conf .

The following configuration will reduce the noise in the emails. If these messages are blank, then periodic(8) will not send an email. In addition, the security emails will be included with the daily emails, which also reduces noise.

# /etc/periodic.conf overrides the defaults in /etc/defaults/periodic.conf
# This file can be overriden by /etc/periodic.conf.local

# *_show_success, *_show_info & *_show_badconfig are disabled
# per recomendation of periodic(8) and "Absolute FreeBSD" p. 310-311
# and "Essential system administration, 3rd Ed." p. 98

# *_show_badconfig="NO" will suppress messages for tools which are not installed on this system (e.g. ZFS on a system without ZFS). 

daily_show_success="NO"
daily_show_info="NO"
daily_show_badconfig="NO"

weekly_show_success="NO"
weekly_show_info="NO"
weekly_show_badconfig="NO"

monthly_show_success="NO"
monthly_show_info="NO"
monthly_show_badconfig="NO"

# Include security jobs with daily email. No need to send second email.
daily_status_security_inline="YES"
security_show_success="NO"

# Don't need to know about denied packets every day
daily_status_security_ipfdenied_enable="NO"

### Now, enable services which you DO want to be aware of    
# Check host for old ports
daily_status_security_portaudit_enable="YES"

# Perform ZFS filesystem checks
daily_status_zfs_enable="YES"

The above example will get you 90% there. However, there is one additional problem which cannot be resolved using the standard FreeBSD config (as of 20110601). The script at /etc/periodic/daily/450.status-security will still print the following pointless message:

Security check:

-- End of daily output -- 

The fix is to apply the patch found in http://www.freebsd.org/cgi/query-pr.cgi?pr=138692 . This patch will modify the return codes for 450.status-security, so that extra messages won't be printed.