我是bash脚本的新手,但我正在使用Unix AIX服务器并希望在单个服务器上提取多个环境的容量;然后运行条件语句将这些当前容量与我的阈值变量进行比较,然后在超出特定环境容量时发送电子邮件通知。
我遇到的问题是条件语句,并将我的阈值与作为容量值列的输出进行比较。任何投入将不胜感激。最后,我想让我知道电子邮件中指定哪些环境超出容量。然后我可以在多个服务器上设置一个cron作业,以便在特定时间运行此脚本,以自动化我们的磁盘空间管理。
任何建设性的反馈都受到欢迎和赞赏,我在这里学习。提前谢谢!
#!/bin/ksh
threshold=10
summary=$(df -Pg|grep -E 'opt|tmp|admin'|awk 'BEGIN {printf ("%- 40s %- 40s\n", "Partition", "Capacity") }{printf ("%- 40s %- 40s\n", $1, $5 )}')
date=$(date)
df -Pg|grep -E 'opt|tmp|admin'|awk '{print $5}'|sed 's/%//g'|while read -r output; do
if [ "$output" -ge "$threshold" ]; then
echo "$summary"|mailx -s "$date IMPORTANT:Disk Space Alert" JonMonJovi@abc.org
fi
done