Differences
This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
skripting-section:bash:disk-monitoring-skript [2018/01/04 19:25] – created michael | skripting-section:bash:disk-monitoring-skript [2018/09/25 13:52] (current) – [Skript Sourcecode] michael | ||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ====== Disk Monitoring Skript ====== | ||
+ | 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 ===== | ||
+ | '' | ||
+ | <sxh bash; first-line: 1> | ||
#!/bin/bash | #!/bin/bash | ||
############################################################################################ | ############################################################################################ | ||
- | # | + | # |
############################################################################################ | ############################################################################################ | ||
- | + | ||
############################################################################################ | ############################################################################################ | ||
Line 15: | Line 19: | ||
# Before disk-check test, that disk is mounted! | # Before disk-check test, that disk is mounted! | ||
- | if grep " | + | #if grep " |
- | ## System dependency Check: | + | |
- | if [ -n " | + | |
- | if [ $(dpkg-query -W -f=' | + | |
- | apt-get update && apt-get install smartmontools sendemail libnet-ssleay-perl libio-socket-ssl-perl -y; | + | |
- | fi | + | |
- | else | + | |
- | if [ $(yum -q list installed smartmontools &>/ | + | |
- | #yum install smartmontools -y; | + | |
- | # TO DO | + | |
- | exit 0 | + | |
- | #systemctl start rpcbind && systemctl enable rpcbind; | + | |
- | fi | + | |
- | fi | + | |
- | + | ||
- | # Create Disk Smart-OUTPUT and check Status: | + | |
- | OUTPUT=" | + | |
- | if [ "${OUTPUT}" | + | uhubctl -a on -p 3 |
- | then | + | sleep 10 |
- | echo "Disk is Healty!" | + | ## System dependency Check: |
- | exit 0 | + | |
- | else | + | if [ $(dpkg-query -W -f=' |
- | echo "Disk detected a SMART-Error!" | + | apt-get update && apt-get install smartmontools |
- | | + | fi |
- | -u " | + | else |
- | -t " | + | if [ $(yum -q list installed smartmontools &>/ |
- | -s " | + | #yum install smartmontools |
- | -o tls=yes \ | + | # TO DO |
- | -xu "mail.blackgate@gmail.com" | + | exit 0 |
- | -xp "" | + | # |
- | -o message-file="/ | + | fi |
- | fi | + | fi |
- | exit 0 | + | |
- | else | + | |
- | echo "Disk is not mountet!" | + | |
- | fi | + | |
+ | # Create Disk Smart-OUTPUT and check Status: | ||
+ | OUTPUT=" | ||
+ | echo " | ||
+ | if [ " | ||
+ | then | ||
+ | echo "Disk is Healty!" | ||
+ | else | ||
+ | echo "Disk detected a SMART-Error!" | ||
+ | sendemail -f " | ||
+ | -u " | ||
+ | -t " | ||
+ | -s " | ||
+ | -o tls=yes \ | ||
+ | -xu " | ||
+ | -xp " | ||
+ | -o message-file="/ | ||
+ | fi | ||
+ | # Poweroff Disk and exit program: | ||
+ | uhubctl -a off -p 3 | ||
+ | exit 0 | ||
+ | #else | ||
+ | # echo "Disk is not mountet!" | ||
+ | #fi | ||
+ | </ |