From 52dd9997ca7f9710315bac935b6a44f90c318fb3 Mon Sep 17 00:00:00 2001 From: Cryptoval2 Date: Thu, 15 May 2025 19:30:09 +0000 Subject: [PATCH] 2.1.1,archive_logs interface change --- VERSION | 2 +- utils/archive_logs.sh | 56 +++++++++++++++++++++++++++++++------------ 2 files changed, 42 insertions(+), 16 deletions(-) diff --git a/VERSION b/VERSION index 27bdbf2..dd7ae89 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -2.0.9,prepare crypto sim enhanced +2.1.1,archive_logs interface change diff --git a/utils/archive_logs.sh b/utils/archive_logs.sh index a9f2c1c..e98b49c 100755 --- a/utils/archive_logs.sh +++ b/utils/archive_logs.sh @@ -1,36 +1,62 @@ #!/bin/bash - function usage { - echo "Usage: ${0} [days (default 2)]" + echo -n "Usage: ${0}" + echo -n " -L " + echo -n " [ -A (default /works/archive/logs)]" + echo -n " [-D (default: '2 days ago')]" + echo exit 1 } echo Starting $0 $* LogDir=${1} +LogArchiveDir=/works/logs +DateCriteria="2 days ago" + + +# ---------------- cmdline +while getopts "A:L:D:" opt; do + case ${opt} in + A ) + LogArchiveDir=$OPTARG + ;; + L ) + LogDir=$OPTARG + ;; + D ) + DateCriteria=$OPTARG + ;; + \? ) + echo "Invalid option: -$OPTARG" >&2 + usage + ;; + : ) + echo "Option -$OPTARG requires an argument." >&2 + usage + ;; + esac +done +# ---------------- cmdline + + if [ "${LogDir}" == "" ] then usage fi -Days=${2} -if [ "${Days}" == "" ] -then - Days=2 -fi +Cmd="mkdir -p ${LogArchiveDir}" +echo ${Cmd} && eval ${Cmd} -DateCriteria="${Days} days ago" +echo "Looking for log files older than '${DateCriteria}' in ${LogDir}" -Oldest=$(date -d "${DateCriteria}" '+%Y-%m-%d') +Oldest=$(date -d "${DateCriteria}" '+%Y-%m-%d %H:%M:%S') -echo "Looking for log files older than ${DateCriteria} in ${LogDir}" +Cmd="find ${LogDir}/ '(' -name '*.log' -o -name '*.log.*' ')' -type f -not -newermt \"${Oldest}\"" +echo $Cmd -LogArchiveDir=${HOME}/prod/archive/logs -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}) +files=$(eval ${Cmd}) if [ "$files" == "" ] then echo "No files found older than ${Oldest} in ${LogDir}"