(07. Juni 2004 — tk)

Dateisystemfüllstand überwachen

Wenn große Lösungen à la »Big Sister« und Konsorten ausscheiden oder zu umfangreich sind, dann lohnt es sich trotzdem, auf unbeaufsichtigt laufenden Macs einen Benachrichtigungsmechanismus einzusetzen, der vor überlaufenden Dateisystemen warnt.

Das folgende kleine Skript erledigt genau das (funktioniert unter MacOS X sowohl von 10.0 – 10.2 mit dem eingebauten sendmail als auch unter 10.3 aufwärts ohne Änderung per postfix).

Ein simples Anpassen der Variablen ${Sender} und ${Receiver}, Abspeichern als bspw. /usr/local/bin/warn-when-fs-full.sh und ein Aktivieren des lokalen MTA (Mail Transfer Agent) — bei 10.3 simpel dadurch zu erreichen, indem ein einziges mal im Druckdialog der Fax-Button angeklickt wird — und das Skript ist bereits funktionsfähig.

Periodisch aktiv wird es bspw., indem man an eines der cronjob-Skripte, bspw. das nächtlich aufgerufene /private/etc/periodic/daily/500.daily eine passende Zeile anhängt:

/usr/local/bin/warn-when-fs-full.sh 80

Das sorgt in Zukunft dafür, daß Dateisysteme, die zu mehr als 80% belegt sind, per E-Mail gemeldet werden.

Skriptsource:

#!/bin/sh
# 
#######################################################################
#
# Copyright (c) 2004, Thomas Kaiser
# license: http://www.opensource.org/licenses/bsd-license.php
# 
#######################################################################
#
# Description: 
#
# Small script intended to report local filesystems exceeding a certain 
# amount of used space -- to be defined either as ${DefaultPercentage}
# variable or as parameter on the command line.
#
# Use it for example in your crontab (adding a line to the scripts in
# /private/etc/periodic/ respectively)
#
# Attention: Don't forget to adjust both ${Sender} and ${Receiver} to
# fit your needs.
#
#######################################################################
#
# Non-Warranty: 
# This script comes with absolutely no warranty. Use at your own risk!
#
#######################################################################

# Adjust settings here!