diff --git a/offsite-power-check.sh b/offsite-power-check.sh index 44f47989..e4d78210 100755 --- a/offsite-power-check.sh +++ b/offsite-power-check.sh @@ -132,6 +132,35 @@ PWO_RESTART() { } +LOGROTATE(){ + STOPALL_SERVICES + lm=`expr $(date +'%m') - 1` + if [ ${lm} = 0 ]; then + lm=12 + ly=`expr $(date +'%Y') - 1` + else + ly=$(date +'%Y') + fi + [ ${lm} -lt 10 ] && lm="0${lm}" + ARCHIVEFOLDER=${PW_LOGARCHIVE}/${ly}-${lm} + mkdir -p ${ARCHIVEFOLDER} + sleep 5s + mv ${PW_LOGFOLDER}/log* ${ARCHIVEFOLDER}/ 2> /dev/null + mv ${PW_LOGFOLDER}/service.* ${ARCHIVEFOLDER}/ 2> /dev/null + # source ${PW_FOLDER}/defaults.inc + STARTALL_SERVICES + backupstokeep=(`ls -d ${PW_LOGARCHIVE}/* 2> /dev/null | sort | tail -12`) + for folder in $(ls -d ${PW_LOGARCHIVE}/* | sort -r); do + keep=0 + for filetokeep in ${backupstokeep[@]}; do + if [ "${folder}" == "${filetokeep}" ]; then + keep=1; break + fi + done; + [ ${keep} == 0 ] && rm -Rf ${folder} + done +} + case $1 in start) PWO_START &;; stop) PWO_STOP;;