2008-02-11, 10:09
  #1
Bannlyst
Delar med mig ett script jag gjorde i morse.
Stört mig länge på när diskutrymme blir fullt på servern och jag inte har
orkat kontrollera servern emellanåt

Här har ni ett script som bevakar diskutrymmet på servern.
Den körs via crontab och skickar email till administratören om
något filsystem ökar mer än 90% av dess kapacitet.


Kod:
#!/bin/sh
# set -x
# Shell script to monitor or watch the disk space
# It will send an email to $ADMIN, if the (free available) percentage of space are >= 90%.
# Requirements: You need bash-shell and functioning mail server.
# ----------------------------------------------------------------------------------------------------  ----
#
# Set admin email
# In /root/.mailrc you will find admins group defined
ADMIN="admins"
#
# set alert level, 90% is default
ALERT=90
#
# Exclude list of unwanted monitoring, if several filesystems then use "|" to separate the filesystems.
# Also possible to exclude words like "Filesystem" and so on.
# An example: EXCLUDE_LIST="/dev/hdd1|/dev/hdc5"
EXCLUDE_LIST="^Filesystem|tmpfs|cdrom|none|/auto/ripper|/auto/backup"
#
#:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::  :::::
#
# Main program start
#
function MAIN() {
while read df_output;
do
   USED=$(echo $df_output | cut -d'%' -f1)
   FILESYSTEM=$(echo $df_output | awk '{print $2}')
   if [ $USED -ge $ALERT ] ; then
      echo "Running out of space \"$FILESYSTEM ($USED%)\" on server $(hostname), $(date)" >> /tmp/disk.status.txt
   fi
done
}
#
# Main program END
#
df -H | grep -vE "$EXCLUDE_LIST" | awk '{printf("%s \t %s\n",$5,$6)}' | MAIN


# Send an email and delete status file
if [ -f /tmp/disk.status.txt ] ; then
   mail -s "Alert: Almost out of disk space on server $(hostname)" $ADMIN < /tmp/disk.status.txt
   rm /tmp/disk.status.txt
fi

Hoppas någon annan får glädje av den också.
Citera

Skapa ett konto eller logga in för att kommentera

Du måste vara medlem för att kunna kommentera

Skapa ett konto

Det är enkelt att registrera ett nytt konto

Bli medlem

Logga in

Har du redan ett konto? Logga in här

Logga in