0
디스크 공간 백분율이 사용 된 파티션을 확인하고 제한을 초과하면 경고하는 bash 스크립트를 작성했습니다. 그것은 일부 서버에서 작동하지만 여기에 다른사용 된 디스크 공간을 확인하는 bash 스크립트
#!/bin/bash source /etc/profile # Devices to check devnames=`df | awk '{print $1}'|tail -n +2` email="myemail" threshold=95 for devname in $devnames do if [[ -z "$devname" ]] || [[ "$devname" = "tmpfs" ]]; then continue fi # let p=`df -k $devname | grep -v ^File | awk '{printf ("%i", 100 - $4*100/$2); }'` # echo "$devname $p" if [ $p -ge $threshold ] then df -h $devname | mail -s "$devname is low on space" $email fi done
문제가있는 서버 여기
df Filesystem 1K-blocks Used Available Use% Mounted on rootfs 20317384 5138584 14154856 27%/ /dev/root 20317384 5138584 14154856 27%/ devtmpfs 32968916 304 32968612 1% /dev tmpfs 33002348 0 33002348 0% /dev/shm /dev/sda4 1902183556 1617154956 188403296 90% /home /dev/sdb4 1901315252 1675315368 129418612 93% /disk2 /dev/sdc4 1902183556 336514784 1469043468 19% /disk3 /dev/sdd4 1902183556 1348238780 457319472 75% /disk4 /dev/root 20317384 5138584 14154856 27% /var/named/chroot/etc/named /dev/root 20317384 5138584 14154856 27% /var/named/chroot/var/named /dev/root 20317384 5138584 14154856 27% /var/named/chroot/etc/named.conf /dev/root 20317384 5138584 14154856 27% /var/named/chroot/etc/named.rfc1912.zones /dev/root 20317384 5138584 14154856 27% /var/named/chroot/etc/rndc.key /dev/root 20317384 5138584 14154856 27% /var/named/chroot/usr/lib64/bind /dev/root 20317384 5138584 14154856 27% /var/named/chroot/etc/named.iscdlv.key /dev/root 20317384 5138584 14154856 27% /var/named/chroot/etc/named.root.key
에 DF 결과는 오류 것입니다 : 나는이 문제를 해결 어떻게
/home/util/check_disk_storages.sh df: `rootfs': No such file or directory df: no file systems processed /home/util/check_disk_storages.sh: line 15: let: p=: syntax error: operand expected (error token is "=") /home/util/check_disk_storages.sh: line 18: [: -ge: unary operator expected df: `/dev/root': No such file or directory df: no file systems processed /home/util/check_disk_storages.sh: line 15: let: p=: syntax error: operand expected (error token is "=") /home/util/check_disk_storages.sh: line 18: [: -ge: unary operator expected df: `devtmpfs': No such file or directory df: no file systems processed /home/util/check_disk_storages.sh: line 15: let: p=: syntax error: operand expected (error token is "=") /home/util/check_disk_storages.sh: line 18: [: -ge: unary operator expected df: `/dev/root': No such file or directory df: no file systems processed /home/util/check_disk_storages.sh: line 15: let: p=: syntax error: operand expected (error token is "=") df: `/dev/root': No such file or directory df: no file systems processed /home/util/check_disk_storages.sh: line 15: let: p=: syntax error: operand expected (error token is "=") df: `/dev/root': No such file or directory df: no file systems processed /home/util/check_disk_storages.sh: line 15: let: p=: syntax error: operand expected (error token is "=") df: `/dev/root': No such file or directory df: no file systems processed /home/util/check_disk_storages.sh: line 15: let: p=: syntax error: operand expected (error token is "=") df: `/dev/root': No such file or directory df: no file systems processed /home/util/check_disk_storages.sh: line 15: let: p=: syntax error: operand expected (error token is "=") df: `/dev/root': No such file or directory df: no file systems processed /home/util/check_disk_storages.sh: line 15: let: p=: syntax error: operand expected (error token is "=") df: `/dev/root': No such file or directory df: no file systems processed /home/util/check_disk_storages.sh: line 15: let: p=: syntax error: operand expected (error token is "=") df: `/dev/root': No such file or directory df: no file systems processed /home/util/check_disk_storages.sh: line 15: let: p=: syntax error: operand expected (error token is "=")
은?
파일 시스템 이름 (은'df'와 출력의 첫 번째 열) 라인 (15)에을하게 사용하고 라인에 경우 에 대한 [[]]를 사용하지 마십시오 파일 이름없는 당신은 가정 할 수 없다 그러한 파일이 존재합니다. 'df'가 첫 번째 명령에서 필요한 모든 백분율을 제공한다면 왜이 모든 것을하고 있는지 분명하지 않습니다. –