Witam,
napisałem taki skrypt za pomocą którego jest możliwość wyświetlania nazwy podmontowanego dysku oraz zajętego miejsca. Problem polega na tym, iż np. na Centosie 7 on działa poprawnie a na RHEL 5 już innaczej. Prawdopodobnie na starszym systemie jest jakieś przesunięcie i wartości są błędnie przesyłane.
#!/bin/sh
df -h | awk '{ print $5 " " $6 }' | while read output;
do
# echo $output
usep=$(echo $output | awk '{ print $1}' | cut -d'%' -f1 )
# echo $usep
partition=$(echo $output | awk '{ print $2 }' )
if [ $usep -le 90 ]; then
echo " [INFO] Server X $(date +%FT%T) Zajete miejsce na dysku: $partition wynosi $usep%"
fi
if [ $usep -ge 90 ]; then
echo " [ERROR] Server X $(date +%FT%T) Zajete miejsce na dysku: $partition wynosi $usep%"
fi
done
[root@mail01 Skrypty]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg_mail01-lv_root
14G 12G 1.7G 87% /
tmpfs 499M 0 499M 0% /dev/shm
/dev/sda1 477M 98M 354M 22% /boot
/dev/mapper/vg_zasob-LV_zasob
99G 134M 94G 1% /mnt/dysk
10.1.150.31:/Backup/Backup/Test
49T 34T 15T 70% /mnt/backup
[root@mail01 Skrypty]# df -h | awk '{ print $5 " " $6 }'
Use% Mounted
/
0% /dev/shm
22% /boot
/mnt/dysk
/mnt/backup
A wynik zapytania wyświetla się tak:
[root@mail01 Skrypty]# ./df-h.sh
./df-h.sh: line 8: [: Use: integer expression expected
./df-h.sh: line 12: [: Use: integer expression expected
./df-h.sh: line 8: [: -le: unary operator expected
./df-h.sh: line 12: [: -ge: unary operator expected
./df-h.sh: line 8: [: /: integer expression expected
./df-h.sh: line 12: [: /: integer expression expected
[INFO] Server X 2019-06-13T13:28:59 Zajete miejsce na dysku: /dev/shm wynosi 0%
[INFO] Server X 2019-06-13T13:28:59 Zajete miejsce na dysku: /boot wynosi 22%
./df-h.sh: line 8: [: -le: unary operator expected
./df-h.sh: line 12: [: -ge: unary operator expected
./df-h.sh: line 8: [: /mnt/dysk: integer expression expected
./df-h.sh: line 12: [: /mnt/dysk: integer expression expected
./df-h.sh: line 8: [: -le: unary operator expected
./df-h.sh: line 12: [: -ge: unary operator expected
./df-h.sh: line 8: [: /mnt/backup: integer expression expected
./df-h.sh: line 12: [: /mnt/backup: integer expression expected