skripting-section:bash:disk-monitoring-skript

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
skripting-section:bash:disk-monitoring-skript [2018/01/04 19:27] – [Disk Monitoring Skript] michaelskripting-section:bash:disk-monitoring-skript [2018/09/25 13:52] (current) – [Skript Sourcecode] michael
Line 1: Line 1:
 ====== Disk Monitoring Skript ====== ====== Disk Monitoring Skript ======
-Skript, welches vom mir erstellt wurde, um automatisiert die Disk des backup-Servers auf SMART-Errors zu überprüfen.+Skript, welches vom mir erstellt wurde, um automatisiert die Disk des backup-Servers auf SMART-Errors zu überprüfen. Fall die Disk die SAMRT-Prüfung nicht mehr besteht, so wird ein Email an den Administrator gesendet!
  
 ===== Skript Sourcecode ===== ===== Skript Sourcecode =====
Line 9: Line 9:
 #!/bin/bash #!/bin/bash
 ############################################################################################ ############################################################################################
-#******************* Disk Monitoring Script by Michael Reber - v 1.**********************#+#******************* Disk Monitoring Script by Michael Reber - v 1.**********************#
 ############################################################################################ ############################################################################################
- +
 ############################################################################################ ############################################################################################
  
Line 19: Line 19:
  
 # Before disk-check test, that disk is mounted! # Before disk-check test, that disk is mounted!
-if grep "$diskToCheck" /etc/mtab > /dev/null 2>&1; then +#if grep "$diskToCheck" /etc/mtab > /dev/null 2>&1; then
- ## System dependency Check: +
- if [ -n "$(command -v apt-get)" ]; then +
- if [ $(dpkg-query -W -f='${Status}' smartmontools 2>/dev/null | grep -c "ok installed") -eq 0 ]; then +
-   apt-get update && apt-get install smartmontools sendemail libnet-ssleay-perl libio-socket-ssl-perl -y; +
- fi +
- else +
- if [ $(yum -q list installed smartmontools &>/dev/null && echo "1" || echo "0") -eq 0 ]; then +
-   #yum install smartmontools -y; +
-   # TO DO +
-   exit 0 +
-   #systemctl start rpcbind && systemctl enable rpcbind; +
- fi +
- fi+
  
- # Create Disk Smart-OUTPUT and check Status+uhubctl -a on -p 3 
- OUTPUT="$(smartctl -/dev/sda > /tmp/smartInfo && grep -oP '(?<=test result: )[^ ]+' /tmp/smartInfo)"+sleep 10 
 +        ## System dependency Check
 +        if [ -n "$(command -v apt-get)" ]; then 
 +                if [ $(dpkg-query -W -f='${Status}' smartmontools 2>/dev/null | grep -c "ok installed"-eq 0 ]; then 
 +                  apt-get update && apt-get install smartmontools sendemail libnet-ssleay-perl libio-socket-ssl-perl -y; 
 +                fi 
 +        else 
 +                if [ $(yum -q list installed smartmontools &>/dev/null && echo "1" || echo "0") -eq 0 ]; then 
 +                  #yum install smartmontools -y; 
 +                  # TO DO 
 +                  exit 0 
 +                  #systemctl start rpcbind && systemctl enable rpcbind; 
 +                fi 
 +        fi
  
- if [ "${OUTPUT}" = "PASSED"+        # Create Disk Smart-OUTPUT and check Status: 
- then +        OUTPUT="$(smartctl -d sat -a /dev/sda > /tmp/smartInfo && grep -oP '(?<=test result: )[^ ]+' /tmp/smartInfo)" 
-   echo "Disk is Healty!" +        echo "$OUTPUT at $today" >> /var/log/disk-monitoring.log 
-   exit 0 +        if [ "${OUTPUT}" = "PASSED"
- else +        then 
-   echo "Disk detected a SMART-Error!" +          echo "Disk is Healty!" 
-   sendemail -f "mail.blackgate@gmail.com"   \ +        else 
- -u "DETECTED A SMART-ERROR on `hostname`!"     \ +          echo "Disk detected a SMART-Error!" 
- -t "michael.r467@gmail.com"+          sendemail -f "mail.blackgate@gmail.com"   \ 
- -s "smtp.gmail.com:587" +                -u "DETECTED A SMART-ERROR on `hostname`!"     \ 
- -o tls=yes \ +                -t "michael.r467@gmail.com"
- -xu "mail.blackgate@gmail.com"+                -s "smtp.gmail.com:587" 
- -xp "PASSWORT" \ +                -o tls=yes \ 
- -o message-file="/tmp/smartInfo" +                -xu "mail.blackgate@gmail.com"
- fi +                -xp "PASSWORD" \ 
- exit 0 +                -o message-file="/tmp/smartInfo" 
-else +        fi 
- echo "Disk is not mountet!" +        # Poweroff Disk and exit program: 
-fi+        uhubctl -a off -p 3 
 +        exit 0 
 +#else 
 +#       echo "Disk is not mountet!" 
 +#fi
 </sxh> </sxh>
  • skripting-section/bash/disk-monitoring-skript.1515090458.txt.gz
  • Last modified: 2018/01/04 19:27
  • by michael