GNU/Linux >> Znalost Linux >  >> Linux

Bash monitoruje využití disku

#!/bin/bash
source /etc/profile

# Device to check
devname="/dev/sdb1"

let p=`df -k $devname | grep -v ^File | awk '{printf ("%i",$3*100 / $2); }'`
if [ $p -ge 90 ]
then
  df -h $devname | mail -s "Low on space" [email protected]
fi

Crontab to spustí, jak často chcete upozornění

EDIT:Pro více disků

#!/bin/bash
source /etc/profile

# Devices to check
devnames="/dev/sdb1 /dev/sda1"

for devname in $devnames
do
  let p=`df -k $devname | grep -v ^File | awk '{printf ("%i",$3*100 / $2); }'`
  if [ $p -ge 90 ]
  then
    df -h $devname | mail -s "$devname is low on space" [email protected]
  fi
done

Pokusil jsem se použít Erikovu odpověď, ale měl jsem problémy se zařízeními s dlouhými názvy, které zalamovaly čísla a způsobovaly selhání skriptu, také matematika se mi zdála špatná a neodpovídala procentům hlášeným df sám.

Zde je aktualizace jeho skriptu:

#!/bin/bash
source /etc/profile

# Devices to check
devnames="/dev/sda1 /dev/md1 /dev/mapper/vg1-mysqldisk1 /dev/mapper/vg4-ctsshare1 /dev/mapper/vg2-jbossdisk1 /dev/mapper/vg5-ctsarchive1 /dev/mapper/vg3-muledisk1"


for devname in $devnames
do
  let p=`df -Pk $devname | grep -v ^File | awk '{printf ("%i", $5) }'`
  if [ $p -ge 70 ]
  then
    df -h $devname | mail -s "$devname is low on space" [email protected]
  fi
done

Změny klíče jsou změněny df -k do df -Pk abychom se vyhnuli zalamování řádků a zjednodušili awk tak, aby místo přepočítávání používala předem vypočítaná procenta.


Linux
  1. Analyzátor využití disku

  2. E-mailové využití disku v cPanel

  3. Zobrazení využití disku v CentOS WebPanel

  1. Linux – Zpomalit kopírování disku/disku?

  2. Tipy pro Ubuntu:Grafické monitorování procesů, paměti, průměrného zatížení a využití disku

  3. Určení využití disku v Linuxu pomocí příkazu „du“.

  1. Jak zobrazit využití disku v cPanel

  2. Proč existuje nesrovnalost ve využití disku hlášená df a du?

  3. Jak mohu monitorovat disk io?