diff --git a/release_version.txt b/release_version.txt index 8acdd82..4e379d2 100644 --- a/release_version.txt +++ b/release_version.txt @@ -1 +1 @@ -0.0.1 +0.0.2 diff --git a/utils/archive_logs.sh b/utils/archive_logs.sh new file mode 100755 index 0000000..7658056 --- /dev/null +++ b/utils/archive_logs.sh @@ -0,0 +1,51 @@ +#!/bin/bash + + +function usage { + echo "Usage: ${0} " + exit 1 +} + +LogDir=${1} +if [ "${LogDir}" == "" ] +then + usage +fi + +echo Starting $0 $* + +LogArchiveDir=/home/cvtt/prod/archive/logs + +# DateCriteria="week ago" +DateCriteria="2 days ago" + +Oldest=$(date -d "${DateCriteria}" '+%Y-%m-%d') +Now=$(date '+%Y%m%d_%H%M%S') + +echo "Looking for log files older than ${DateCriteria} in ${LogDir}" +mkdir -p ${LogArchiveDir} +echo "find ${LogDir}/ '(' -name '*.log' -o -name '*.log.*' ')' -type f -not -newermt ${Oldest})" +files=$(find ${LogDir}/ '(' -name '*.log' -o -name '*.log.*' ')' -type f -not -newermt ${Oldest}) +if [ "$files" == "" ] +then + echo "No files found older than ${Oldest} in ${LogDir}" +else + echo Archiving files: + echo ----------------- + echo ${files} + + oldest_file=$(ls -t ${files} | tail -1) + youngest_file=$(ls -tr ${files} | tail -1) + + tstmp1=$(stat --printf '%y' ${oldest_file}) + tstmp2=$(stat --printf '%y' ${youngest_file}) + tmsig="$(date -d "${tstmp1}" +"%Y%m%d_%H%M%S")-$(date -d "${tstmp2}" +"%Y%m%d_%H%M%S")" + echo $tmsig + + Cmd="tar zcvf ${LogArchiveDir}/${tmsig}.logs.tgz ${files}" + echo $Cmd + eval $Cmd + + rm $files +fi +echo Done ${0} ${*}