adding archiveweblogs
This commit is contained in:
parent
2bdc7e3c4f
commit
75b1f6aa96
1 changed files with 62 additions and 0 deletions
62
shell/archiveweblogs.sh
Normal file
62
shell/archiveweblogs.sh
Normal file
|
|
@ -0,0 +1,62 @@
|
|||
#!/usr/bin/env bash
|
||||
#
|
||||
# This script will preserve the normally rotated and
|
||||
# thrown away weblogs from a default RedHat/Apache installation.
|
||||
# It will save the files with a date/time stamp in the filename,
|
||||
# bzipped, to a given directory.
|
||||
#
|
||||
# Run this from crontab nightly at an off hour,
|
||||
# as bzip2 can suck up some serious CPU on huge logs:
|
||||
# 0 2 * * * /opt/sbin/archiveweblogs.sh
|
||||
#
|
||||
# SPDX-License-Identifier: MIT
|
||||
|
||||
PROBLEM=66
|
||||
|
||||
# Set this to your backup dir.
|
||||
BKP_DIR=/opt/backups/weblogs
|
||||
|
||||
# Default Apache/RedHat stuff
|
||||
LOG_DAYS="4 3 2 1"
|
||||
LOG_DIR=/var/log/httpd
|
||||
LOG_FILES="access_log error_log"
|
||||
|
||||
# Default RedHat program locations
|
||||
LS=/bin/ls
|
||||
MV=/bin/mv
|
||||
ID=/usr/bin/id
|
||||
CUT=/bin/cut
|
||||
COL=/usr/bin/column
|
||||
BZ2=/usr/bin/bzip2
|
||||
|
||||
# Are we root?
|
||||
USER=$($ID -u)
|
||||
if [ "X$USER" != "X0" ]; then
|
||||
echo "PANIC: Only root can run this script!"
|
||||
exit $PROBLEM
|
||||
fi
|
||||
|
||||
# Backup dir exists/writable?
|
||||
if [ ! -x "$BKP_DIR" ]; then
|
||||
echo "PANIC: $BKP_DIR doesn't exist or isn't writable!"
|
||||
exit $PROBLEM
|
||||
fi
|
||||
|
||||
# Move, rename and bzip2 the logs
|
||||
for logday in $LOG_DAYS; do
|
||||
for logfile in $LOG_FILES; do
|
||||
MYFILE="$LOG_DIR/$logfile.$logday"
|
||||
if [ -w "$MYFILE" ]; then
|
||||
DTS=$($LS -lgo --time-style=+%Y%m%d "$MYFILE" | $COL -t | $CUT -d ' ' -f7)
|
||||
$MV "$MYFILE" "$BKP_DIR/$logfile.$DTS"
|
||||
$BZ2 "$BKP_DIR/$logfile.$DTS"
|
||||
else
|
||||
# Only spew an error if the file exits (ergo non-writable).
|
||||
if [ -f "$MYFILE" ]; then
|
||||
echo "ERROR: $MYFILE not writable. Skipping."
|
||||
fi
|
||||
fi
|
||||
done
|
||||
done
|
||||
|
||||
exit 0
|
||||
Loading…
Add table
Add a link
Reference in a new issue