Skip to content

Shellscript - Nagios Plugins - Swap & Memory


 
Plugin zum Überwachen des Arbeitsspeichers
 
#!/bin/sh

free -m | grep Mem | while read output;
do
  mem=$(echo $output | awk ‘{print $2}’ )
  used=$(echo $output | awk ‘{ print $3 }’ )
  free=$(echo $output | awk ‘{ print $4 }’ )
  use=`expr $used \* 100 / $mem`

  if [ $use -ge 90 ]; then
    echo "CRITICAL Total Mem: \"$mem\" Used: \"$used ($use%)\" Free: \"$free\" "
    exit 2
  elif [ $usep -ge 50 ]; then
    echo "WARNING Total Mem: \"$mem\" Used: \"$used ($use%)\" Free: \"$free\" "
    exit 1
  else
    echo "OK Mem: $mem" "Used: $used" "Free: $free"
    exit 0
  fi

done
 
Plugin zum Überwachen des Swap
 
#!/bin/sh
free -m | grep Swap | while read output;
do
  swap=$(echo $output | awk ‘{print $2}’ )
  used=$(echo $output | awk ‘{ print $3 }’ )
  free=$(echo $output | awk ‘{ print $4 }’ )
  use=`expr $used \* 100 / $swap`

  if [ $use -ge 90 ]; then
    echo "CRITICAL Swap: \"$swap\" Used: \"$used ($use%)\" Free: \"$free\" "
    exit 2
  elif [ $use -ge 50 ]; then
    echo "WARNING Swap: \"$swap\" Used: \"$used ($use%)\" Free: \"$free\" "
    exit 1
  else
    echo "OK Swap: $swap" "Used: $used" "Free: $free"
    exit 0
  fi

done
 

Download: memory.sh swap.sh

Shellscript - backup.sh


 
Möchte man vor einem neuen Backup ( z.b. ein MySQL-Dump ) prüfen ob die Datei vom Vortag noch existiert, kann man dies ganz einfach mit "Date" lösen.
 
Hier ein kleines Beispiel:
 
#
#Testen ob Datei vom Vortag existiert, falls ja -> löschen
#
if [ -e /backup/sql-`date -d ‘-1 day’ +%y%m%d`.tgz ]; then
        rm /backup/sql-`date -d ‘-1 day’ +%y%m%d`.tgz
fi

#
#Testen ob Datei sql.dump existiert, falls ja -> löschen
#
if [ -e /var/www/sql.dump ]; then
        rm /var/www/sql.dump
fi

#
#MySQLDump erstellen
#
/usr/bin/mysqldump -uBENUTZER -pPASSWORT  —single-transaction > /backup/sql.dump

#
#Dump-File packen und löschen
#
tar cvfz /backup/sql-`date ‘+%d%m%Y’`.tgz /backup/sql.dump && rm /backup/sql.dump
 

 
Download: backup.sh

Shellscript - suchen.sh


 
In allen Dateien, im aktuellen Verzeichnis, wird nach "foo" gesucht und falls gefunden, durch "bar" in einer "Dummy-Datei" ersetzt. Danach wird die "Dummy-Datei" zur Originaldatei kopiert.
 
#!/bin/sh

for file in $( ls -1 );
    do
        sed ‘s/foo/bar/g’ $file > /tmp/dummy.txt;
        mv /tmp/dummy.txt $file;
    done
 

 
Download: suchen.sh
Imprint | Contact | Privacy Statement