Edit file File name : check_a2_largelogs.shared Content :#!/bin/bash # OPSTEAM-14968 - script to find log files larger than 3GB # BFENG-749 - log file names # INTERVAL=86400 # interval to find large logs LOG="/tmp/check_largelogs_cache.log" # default path to log file # cacheage function cacheage () { file=$1 now=$(date +%s) mtime=$(stat -c %Y "$file") delta=$(( now - mtime )) echo $delta } # generate cache function generate_cache () { large_logs=$(find /var/log/ -type f -size +3G \( ! -iname "lastlog" \) | tr '\n' '|') if [[ -n "$large_logs" ]]; then # Remove trailing pipe for cleaner output large_logs=${large_logs%|} printf 'large logs found in /var/log directory: %s\n' "$large_logs" > $LOG exit 2 fi } # generate cache if [ ! -e $LOG ]; then touch $LOG generate_cache else age=$(cacheage $LOG) if [ "$age" -ge "$INTERVAL" ]; then generate_cache fi fi # this will output large logs status from cache if [ -s "$LOG" ]; then cat $LOG fi Save