40 lines
1.4 KiB
Bash
Executable File
40 lines
1.4 KiB
Bash
Executable File
#!/bin/sh
|
|
|
|
# The default Debian ntp.conf enables logging of various statistics to
|
|
# the /var/log/ntpstats directory. The daemon automatically changes
|
|
# to a new datestamped set of files at midnight, so all we need to do
|
|
# is delete old ones, and compress the ones we're keeping so disk
|
|
# usage is controlled.
|
|
|
|
statsdir=$(cat /etc/ntp.conf | grep -v '^#' | sed -nr 's/^statsdir[[:space:]]+([^[:space:]]+).*$/\1/p')
|
|
|
|
if [ -n "$statsdir" ] && [ -d "$statsdir" ]; then
|
|
# only keep a week's depth of these. Delete only files exactly
|
|
# within the directory and do not descend into subdirectories
|
|
# to avoid security risks on platforms where find is not using
|
|
# fts-library.
|
|
find "$statsdir" -maxdepth 1 -type f -mtime +7 -delete
|
|
|
|
# compress whatever is left to save space but make sure to really
|
|
# do it only in the expected directory.
|
|
cd "$statsdir" || exit 1
|
|
ls -d -- *stats.???????? > /dev/null 2>&1
|
|
if [ $? -eq 0 ]; then
|
|
# Note that gzip won't compress the file names that
|
|
# are hard links to the live/current files, so this
|
|
# compresses yesterday and previous, leaving the live
|
|
# log alone. We supress the warnings gzip issues
|
|
# about not compressing the linked file.
|
|
gzip --best --quiet -- *stats.????????
|
|
return=$?
|
|
case $return in
|
|
2)
|
|
exit 0 # squash all warnings
|
|
;;
|
|
*)
|
|
exit $return # but let real errors through
|
|
;;
|
|
esac
|
|
fi
|
|
fi
|