#!/bin/bash

#move current messages to an old file
unset a i
if [ "$1" == "sysmon" ]; then
     
    size=`grep "^max_sysmon_size=" /opt/Avaya/scripts/config_files/syslog_config`
    size=${size#*=}
    mv -f "/var/log/sysmon.log" "/var/log/sysmon.log.old"
    rm -f "/var/log/sysmon.log.old"
    while IFS= read -r -u3 -d $'\0' file; do
        a[i++]="$file"
    done 3< <(find /var/log/sysmon -name "sysmon*.zip" -and -size +${size}c  -type f -print0)
    if [ "$i" != "0" ]; then
        /usr/bin/systemctl stop rsyslog
    fi
    #update all logs
    for file in "${a[@]}"
    do
        temp="${file}.old"
        \cp -f $file $temp
        echo "" > $file
    done
    if [ "$i" != "0" ]; then
        /usr/bin/systemctl start rsyslog
    fi
else
if [ -f /var/log/$1.log ]; then
    temp="/var/log/$1.log"
elif [ -f /var/log/$1 ]; then
    temp="/var/log/$1"
fi

mv -f "$temp" "$temp.old"
rm -f "$temp.old"
size=`grep "^max_size=" /opt/Avaya/scripts/config_files/syslog_config`
size=${size#*=}
for x in secure httpd spooler audit; do
	while IFS= read -r -u3 -d $'\0' file; do
	    a[i++]="$file"
	done 3< <(find /var/log/ -name "$x*.log" -and -size +${size}c  -type f -print0)
	while IFS= read -r -u3 -d $'\0' file; do
	    a[i++]="$file"
	done 3< <(find /var/log/ -name "$x" -and -size +${size}c  -type f -print0)
done
if [ "$1" != "secure" ] && [ "$1" != "audit" ] && [ "$1" != "spooler" ] && [ "$1" != "httpd" ]; then
    #search all files size higher than 20k
    while IFS= read -r -u3 -d $'\0' file; do
        a[i++]="$file"        
    done 3< <(find /var/log/rsyslog -name "$1*.log" -and -size +${size}c  -type f -print0)
    while IFS= read -r -u3 -d $'\0' file; do
        a[i++]="$file"
    done 3< <(find /var/log/rsyslog -name "$1" -and -size +${size}c  -type f -print0)
fi
#update all logs
for file in "${a[@]}"
do
	temp=$file".old"
	cp $file $temp
	echo "" > $file
done
fi
