GNU/Linux >> Belajar Linux >  >> Linux

Bash memantau penggunaan disk

#!/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 ini untuk dijalankan sesering apa pun Anda menginginkan lansiran

EDIT:Untuk banyak 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

Saya mencoba menggunakan jawaban Erik tetapi memiliki masalah dengan perangkat yang memiliki nama panjang yang membungkus angka dan menyebabkan skrip gagal, matematika juga terlihat salah bagi saya dan tidak cocok dengan persentase yang dilaporkan oleh df itu sendiri.

Berikut pembaruan skripnya:

#!/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

Perubahan kunci diubah df -k ke df -Pk untuk menghindari pembungkusan garis dan menyederhanakan awk untuk menggunakan persen yang telah dihitung sebelumnya alih-alih menghitung ulang.


Linux
  1. Penganalisis Penggunaan Disk

  2. Cara Melihat Disk Usage di cPanel

  3. Bagaimana saya bisa memantau disk io?

  1. cPanel – Penggunaan Disk

  2. Penggunaan disk email di cPanel

  3. Buat salinan disk/disk lebih lambat

  1. Lihat penggunaan disk di CentOS WebPanel

  2. Kiat Ubuntu:Pemantauan Grafis untuk Proses, Memori, Rata-rata Beban, dan Penggunaan Disk

  3. Menentukan penggunaan disk di Linux menggunakan perintah "du"