| Server IP : 104.21.58.74 / Your IP : 216.73.216.213 Web Server : LiteSpeed System : Linux s12482.usc1.stableserver.net 5.14.0-570.32.1.el9_6.x86_64 #1 SMP PREEMPT_DYNAMIC Wed Aug 6 11:30:41 EDT 2025 x86_64 User : snownico ( 1231) PHP Version : 8.2.31 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /lib64/nagios/plugins/ |
Upload File : |
#!/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