페이지

2014년 4월 28일 월요일

create log periodically using crontab and shell script

when I need to create log file periodically, i can use this script

in this script, every 5 minute, a new file is created



vi createLogPeriodically.sh

#d=date +'%Y%m%d%H%M'
#insDate=`date --date='' '+%Y%m%d%H%M'`
insDate=`date '+%Y%m%d%H%M'`
insDateForDir=`date '+%Y%m%d'`

echo "날짜=>" $insDate
#echo ${insDate:10:3} 
strForMinute=${insDate:11:1}
echo "분단위 마지막 한자리=> "  ${strForMinute}

lastDate=${insDate:0:11}
echo "11번째자리가지 자른 날자=>" ${lastDate}

fileNameForLstMinute=0

case "${strForMinute}" in
0)
        fileNameForLstMinute=0
        ;;
1)
        fileNameForLstMinute=0
        ;;
2)
        fileNameForLstMinute=0
        ;;
3)
        fileNameForLstMinute=0
        ;;
4)
        fileNameForLstMinute=0
        ;;
5)
        fileNameForLstMinute=5
        ;;
6)
        fileNameForLstMinute=5
        ;;
7)
        fileNameForLstMinute=5
        ;;
8)
        fileNameForLstMinute=5
        ;;
9)
        fileNameForLstMinute=5
        ;;
*)      echo "there is no value"
        ;;
esac

echo "가공된 분자리 =>" ${fileNameForLstMinute} 

lastDate=${lastDate}${fileNameForLstMinute}

echo "최종 날자=>" ${lastDate}

serverNum="001" //직접 수정
serviceGubn="service"   //직접 수정

#LOG1
logDir="/logs/"${serviceGubn}"/"${insDateForDir}"/"
logFile="LOG."${serverNum}"."${lastDate}".log"
log1=${logDir}${logFile}
mkdir -p -- "${logDir%/*}" && touch  ${log1}

#LOG2
logDir="/logs/"${serviceGubn}"/"${insDateForDir}"/"
logFile="LOG."${serverNum}"."${lastDate}".log"
log2=${logDir}${logFile}
mkdir -p -- "${logDir%/*}" && touch  ${log2}


echo ${logOms}
echo ${logCom}



register this file on crontab
#crontab -e

*/1 * * * * /home/account/createLogPeriodically.sh

댓글 없음:

댓글 쓰기

image

image