-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathclean_cvc_log
60 lines (49 loc) · 1.81 KB
/
clean_cvc_log
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
#! /bin/bash
#clean_cvc_log: removes old CVC log files
# Version 1.0
# Copyright 2106 D. Mitch Bailey
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
if [[ ${#*} -ne 1 ]] || [[ $1 != [[:digit:]]* ]] ; then
echo "usage: clean_cvc_log keep_log_count"
exit 1
fi
backupCount=$1
logList=`ls *log.[1-9]*.gz | sed 's/log.*/log/' | sort -u`
rm -f rm_log_list
for baseLog in $logList; do
logCount=0
zgrep -q 'CVC: End:' $baseLog
baseLogOk=$?
for logFile in $( ls -t $baseLog.*.gz ); do
if zgrep -q 'CVC: End:' $logFile; then
((logCount++))
baseLogOk=1
#echo $logFile complete $logCount
elif [[ $baseLogOk ]] && [[ $logCount -le $backupCount ]]; then
# incomplete log files removed if older than the most recent complete log
echo rm -f $logFile ${logFile/log/error} >> rm_log_list
#echo $logFile incomplete
fi
if [[ $logCount -gt $backupCount ]]; then
# remove log files older than the last log file saved
echo rm -f $logFile ${logFile/log/error} >> rm_log_list
fi
done
done
if [[ -s rm_log_list ]]; then
cat rm_log_list
echo
echo \'source rm_log_list\' to remove files
else
echo no files to remove
fi
#23456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789