periodic: add support for .xz and .zcat compressed logs
Also improve temporary file usage in 200.accounting, add an xref to zstd(1) to newsyslog.conf.5, and clarify in periodic.conf that "daily accounting" means process accounting and "monthly accounting" is login accounting. PR: 253868 Reviewed by: allanjude Approved by: blackend (mentor) Differential Revision: https://reviews.freebsd.org/D29267
This commit is contained in:
parent
c9f8dcda85
commit
774bb1c256
@ -365,7 +365,7 @@ daily.
|
||||
.Pq Vt bool
|
||||
Set to
|
||||
.Dq Li YES
|
||||
if you want to rotate your daily accounting files.
|
||||
if you want to rotate your daily process accounting files.
|
||||
No rotations are necessary unless
|
||||
.Va accounting_enable
|
||||
is enabled in
|
||||
|
@ -415,6 +415,7 @@ entry:
|
||||
.Xr bzip2 1 ,
|
||||
.Xr gzip 1 ,
|
||||
.Xr xz 1 ,
|
||||
.Xr zstd 1 ,
|
||||
.Xr syslog 3 ,
|
||||
.Xr chown 8 ,
|
||||
.Xr newsyslog 8 ,
|
||||
|
@ -52,6 +52,12 @@ case "$daily_status_mail_rejects_enable" in
|
||||
elif [ -f /var/log/maillog.$n.bz2 ]
|
||||
then
|
||||
bzcat -fc /var/log/maillog.$n.bz2
|
||||
elif [ -f /var/log/maillog.$n.xz ]
|
||||
then
|
||||
xzcat -f /var/log/maillog.$n.xz
|
||||
elif [ -f /var/log/maillog.$n.zst ]
|
||||
then
|
||||
zstdcat -fc /var/log/maillog.$n.zst
|
||||
fi
|
||||
n=$(($n - 1))
|
||||
done
|
||||
|
@ -18,16 +18,30 @@ case "$monthly_accounting_enable" in
|
||||
W=/var/log/utx.log
|
||||
rc=0
|
||||
remove=NO
|
||||
filetoread=$W.0
|
||||
if [ ! -f $W.0 ]
|
||||
then
|
||||
if [ -f $W.0.gz ]
|
||||
if [ -f $W.0.gz ] || [ -f $W.0.bz2 ] || [ -f $W.0.xz ] || [ -f $W.0.zst ]
|
||||
then
|
||||
TMP=`mktemp -t accounting`
|
||||
remove=YES
|
||||
zcat $W.0.gz > $W.0 || rc=1
|
||||
elif [ -f $W.0.bz2 ]
|
||||
then
|
||||
remove=YES
|
||||
bzcat $W.0.bz2 > $W.0 || rc=1
|
||||
filetoread=$TMP
|
||||
if [ -f $W.0.gz ]
|
||||
then
|
||||
zcat $W.0.gz > $TMP || rc=1
|
||||
elif [ -f $W.0.bz2 ]
|
||||
then
|
||||
bzcat $W.0.bz2 > $TMP || rc=1
|
||||
elif [ -f $W.0.xz ]
|
||||
then
|
||||
xzcat $W.0.xz > $TMP || rc=1
|
||||
elif [ -f $W.0.zst ]
|
||||
then
|
||||
zstdcat $W.0.zst > $TMP || rc=1
|
||||
else
|
||||
# shouldn't get here, unless something disappeared under us.
|
||||
rc=2
|
||||
fi
|
||||
else
|
||||
echo '$monthly_accounting_enable is set but' \
|
||||
"$W.0 doesn't exist"
|
||||
@ -39,10 +53,10 @@ case "$monthly_accounting_enable" in
|
||||
echo ""
|
||||
echo "Doing login accounting:"
|
||||
|
||||
rc=$(ac -p -w $W.0 | sort -nr -k 2 | tee /dev/stderr | wc -l)
|
||||
rc=$(ac -p -w $filetoread | sort -nr -k 2 | tee /dev/stderr | wc -l)
|
||||
[ $rc -gt 0 ] && rc=1
|
||||
fi
|
||||
[ $remove = YES ] && rm -f $W.0;;
|
||||
[ $remove = YES ] && rm -f $TMP;;
|
||||
|
||||
*) rc=0;;
|
||||
esac
|
||||
|
@ -53,6 +53,8 @@ catmsgs() {
|
||||
case $f in
|
||||
*.gz) zcat -f $f;;
|
||||
*.bz2) bzcat -f $f;;
|
||||
*.xz) xzcat -f $f;;
|
||||
*.zst) zstdcat -f $f;;
|
||||
esac
|
||||
done
|
||||
[ -f ${LOG}/auth.log ] && cat $LOG/auth.log
|
||||
|
@ -53,6 +53,8 @@ catmsgs() {
|
||||
case $f in
|
||||
*.gz) zcat -f $f;;
|
||||
*.bz2) bzcat -f $f;;
|
||||
*.xz) xzcat -f $f;;
|
||||
*.zst) zstdcat -f $f;;
|
||||
esac
|
||||
done
|
||||
[ -f ${LOG}/messages ] && cat $LOG/messages
|
||||
|
Loading…
x
Reference in New Issue
Block a user