51 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
			
		
		
	
	
			51 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
#!/bin/sh -e
 | 
						|
 | 
						|
RM='rm -f'
 | 
						|
#RM='echo rm -f'
 | 
						|
 | 
						|
LOG_START="$1"
 | 
						|
LOG_EXT="$2"
 | 
						|
 | 
						|
NOW="$(/bin/date +%Y%m%d)"
 | 
						|
NOW_YEAR="$(echo $NOW | cut -c-4)"
 | 
						|
NOW_MONTH="$(echo $NOW | cut -c5-6)"
 | 
						|
NOW_DAY="$(echo $NOW | cut -c7-8)"
 | 
						|
 | 
						|
LOG_START_LEN="$(echo $LOG_START | wc -c | awk '{print$1}')"
 | 
						|
 | 
						|
YEARS="$(ls $LOG_START*$LOG_EXT | cut -c$LOG_START_LEN-$[LOG_START_LEN+3] | sort -u)"
 | 
						|
 | 
						|
for YEAR in $YEARS; do
 | 
						|
  if [ "$YEAR" = "$NOW_YEAR" ]; then
 | 
						|
    # only keep one per day 
 | 
						|
    for MONTH in `seq -f "%02g" 12`; do
 | 
						|
      for DAY in `seq -f "%02g" 31`; do
 | 
						|
        if [ "$NOW_MONTH" = "$MONTH" ] && [ "$NOW_DAY" = "$DAY" ]; then
 | 
						|
          # if now is today, dont prune anything
 | 
						|
          :; 
 | 
						|
        else
 | 
						|
          # save only the first report per day 
 | 
						|
          FILES="$(ls -rt ${LOG_START}${YEAR}-${MONTH}-${DAY}T*${LOG_EXT} 2>/dev/null | tail -n +2)"
 | 
						|
          #FILES="$(ls -rt ${LOG_START}${YEAR}-${MONTH}-${DAY}T*${LOG_EXT} | tail -n +2)"
 | 
						|
          if [ -n "$FILES" ]; then
 | 
						|
            set -x
 | 
						|
            $RM $FILES
 | 
						|
            set +x
 | 
						|
          fi 
 | 
						|
        fi
 | 
						|
      done # DAY
 | 
						|
    done # MONTH
 | 
						|
  else # not current year
 | 
						|
    # only keep one per month
 | 
						|
    for MONTH in `seq -f "%02g" 12`; do
 | 
						|
      FILES="$(ls -rt ${LOG_START}${YEAR}-${MONTH}-*${LOG_EXT} 2>/dev/null | tail -n +2)"
 | 
						|
      #FILES="$(ls -rt ${LOG_START}${YEAR}-${MONTH}-*${LOG_EXT} | tail -n +2)"
 | 
						|
      if [ -n "$FILES" ]; then
 | 
						|
        set -x
 | 
						|
        $RM $FILES
 | 
						|
        set +x
 | 
						|
      fi 
 | 
						|
    done # MONTH
 | 
						|
  fi
 | 
						|
done # YEAR
 |