summaryrefslogtreecommitdiffstats
path: root/abs/core/rsyslog/log_care.sh
diff options
context:
space:
mode:
Diffstat (limited to 'abs/core/rsyslog/log_care.sh')
-rw-r--r--abs/core/rsyslog/log_care.sh22
1 files changed, 12 insertions, 10 deletions
diff --git a/abs/core/rsyslog/log_care.sh b/abs/core/rsyslog/log_care.sh
index b0a774b..ced0f06 100644
--- a/abs/core/rsyslog/log_care.sh
+++ b/abs/core/rsyslog/log_care.sh
@@ -1,14 +1,16 @@
#!/bin/bash
MYTH_RUN_STATUS=1
. /etc/profile
-YEAR=`date +%Y`
-LASTYEAR=$(($YEAR - 1))
-for DATE in $YEAR $LASTYEAR
-do
- echo "Compressing log files"
- find /var/log/$DATE* -mtime +1 -exec gzip -9 {} \;
+
+BackupDir="/var/log/20*-*-*"
+KeepBackups=14
+NumBackups=`ls -d $BackupDir | wc -l`
+
+if [[ $NumBackups > $KeepBackups ]]; then
echo "Deleting old log files"
- find /var/log/$DATE* -mtime +12 -exec rm -rf {} \;
- echo "Deleting empty directories"
- find /var/log/$DATE* -depth -type d -empty -exec rm -rf {} \;
-done
+ numdel=$(($NumBackups-$KeepBackups))
+ rm -rf `ls -d $BackupDir | head -$numdel`
+fi
+
+echo "Compressing log files"
+find $BackupDir -type f -mtime +2 \( ! -iname "*.gz" \) -exec gzip -9 {} \;