Het script wordt normaal gesproken 1x per dag uitgevoerd. In de instellingen kan je opgeven of een bestand na X tijd verwerkt moet worden, of als het groter is dan X MB.
Stel dat je een bestand hebt wat na 1 week gearchiveerd moet worden of wanneer het groter is dan 10 MB, dan zal die laatste optie voorrang krijgen ook al is dat bestand minder dan een week geleden ook al gedaan.
Maar er wordt maar 1x per dag naar de grootte gekeken dus als het bestand in 1 dag van 0 naar 1000 MB kan gaan dan zit je tot de volgende dag met dat grote bestand.
Edit: de maxsize optie bestaat niet voor Ubuntu 12.04. In 14.04 is die er wel.
Nog een edit: je kan best een nieuwe cronjob maken die bijv. ieder uur draait, maar dan is je computer ieder uur even traag omdat hij alle logbestanden na moet lopen. En dat is een zware ingreep voor een probleem dat niet vaak gebeurt. Bovendien los je het probleem hiermee ook niet op, je verzacht mogelijk alleen wat symptomen. Als je je hier echt veel zorgen om maakt is het beter om een script te schrijven dat de totale grootte van /var/log of de vrije ruimte op je schijf oid in de gaten houdt en je laat mailen als het uit de hand dreigt te lopen.
Als je sendmail, ssmtp of een ander mailprogramma op je pc hebt ingesteld zou je dit script in /etc/cron.daily kunnen zetten:
#!/bin/sh
ADMIN="jouw@e-mail.example,nog-een-mail@example.com"
THRESHOLD=90
df -PkH | grep -vE '^Filesystem|tmpfs|cdrom|media' | awk '{ print $5 " " $6 }' | while read output;
do
usep=$(echo $output | awk '{ print $1}' | cut -d'%' -f1 )
partition=$(echo $output | awk '{print $2}' )
if [ $usep -ge $THRESHOLD ]; then
echo "Running out of space \"$partition ($usep%)\" on $(hostname) as on $(date)" |
mail -s "Alert: Almost out of disk space $usep%" $ADMIN
fi
done
Dit script zal een mailtje sturen als op het moment van checken een partitie voor meer dan 90% in gebruik is.