check_size prüft die Größe von Verzeichnissen, einzelnen oder mehreren Dateien.
Die Abfrage der Dateigröße(n) erfolgt mit stat, die Verzeichnissgröße wird mit du ermittelt. Beide sind in den GNU coreutils enthalten.
Voraussetzung
Eintrag in /etc/sudoers für Monitoring-Benutzer (nagios)
%nagios ALL = (%root) NOPASSWD: /usr/bin/du
Benutzung
Usage: check_size.sh -w -c -d -f [file] -t [timeout] -w warning bytes -c critical bytes -d directoryname (absolute path), e.g. -d /var/log -f filename (optional) e.g. -f "*.gz" or -f "debug*" or -f "*" if no filename is given, we assume to check directory size -t plugin timeout (default 10 seconds) -h Help -v Version
root@debian:/usr/local/shinken/libexec# ./check_size_v20131017.sh -w 75000000 -c 100000000 -d /var/log OK - Disk usage of /var/log: 27.40M|bytes=28731677B;75000000;100000000;0;
root@debian:/usr/local/shinken/libexec# ./check_size_v20131017.sh -w 7500000 -c 10000000 -d /var/log CRITICAL - Disk usage of /var/log: 27.40M|bytes=28732094B;7500000;10000000;0;
root@debian:/usr/local/shinken/libexec# ./check_size_v20131017.sh -w 750000 -c 1000000 -d /var/log -f "*.gz" OK - All files less than 750000 Bytes.
root@debian:/usr/local/shinken/libexec# ./check_size_v20131017.sh -w 750000 -c 1000000 -d /var/log -f messages /var/log/messages,868369b,(WARNING)
root@debian:/usr/local/shinken/libexec# ./check_size_v20131017.sh -w 750000 -c 1000000 -d /var/log -f "messages*" /var/log/messages,868369b,(WARNING) /var/log/messages.1,1151235b,(CRITICAL)
root@debian:/usr/local/shinken/libexec# ./check_size_v20131017.sh -w 750000 -c 1000000 -d /var/log -f "*" /var/log/messages,868369b,(WARNING) /var/log/kern.log,1103027b,(CRITICAL) /var/log/messages.1,1151235b,(CRITICAL)
Download: check_size.sh