#!/bin/bash

availablespace="$(df / | awk 'NR==2{print $4}')"

if [ "$availablespace" -gt "1000000" ]; then
    exit 0
fi

# Generate list of large files in log directories
largeFilesList="$(find /var/log/ -type f -size +10000k | sort | xargs -r file)"

if [ -z "$largeFilesList" ]; then
    exit 0
fi

# Find text files and empty them
textFiles="$(printf "$largeFilesList" | tr ':' ' ' | grep -i text)"
printf "$textFiles" | awk '{ print "emptying "$1 }'
printf "$textFiles" | awk '{ print $1 }' | xargs -r truncate --size 0

# Find gzipped log files and remove them
gzipFiles="$(printf "$largeFilesList" | tr ':' ' ' | grep -i gzip)"
printf "$gzipFiles" | awk '{ print "deleting "$1 }'
printf "$gzipFiles" | awk '{ print $1 }' | xargs -r rm -f

exit 0