当使用率超过 85% 时触发电子邮件的脚本

当使用率超过 85% 时触发电子邮件的脚本

一个 netbackup 软件命令的输出报告以下参数。我希望 shell 脚本检查使用率,如果使用率 > 85,则发送电子邮件操作,说明哪个磁盘池名称大于 85%。

server_hostname# netbackup command
Disk Pool Name      : dp_disk_abc01
Total Capacity (GB) : 2924.41
Free Space (GB)     : 2887.51
Use%                : 1
Disk Pool Name      : dp_disk_abc03
Total Capacity (GB) : 3919.52
Free Space (GB)     : 1314.14
Use%                : 66
Disk Pool Name      : dp_disk_abc02
Total Capacity (GB) : 3899.21
Free Space (GB)     : 3893.54
Use%                : 0
Disk Pool Name      : dp_disk_abc04
Total Capacity (GB) : 3901.59
Free Space (GB)     : 3591.03
Use%                : 7
Disk Pool Name      : dp_disk_abc07
Total Capacity (GB) : 86402.92
Free Space (GB)     : 26948.68
Use%                : 68
Disk Pool Name      : dp_disk_abc05
Total Capacity (GB) : 58928.13
Free Space (GB)     : 10401.51
Use%                : 82
Disk Pool Name      : dp_disk_abc06
Total Capacity (GB) : 86402.92
Free Space (GB)     : 13605.04
Use%                : 84

任何帮助都将不胜感激。谢谢。

答案1

您使用的逻辑不完整。您找到了正在使用的百分比,但脚本需要额外的步骤来记住磁盘池名称。

我们通常看不到流程图,但对于简单的任务来说,它们很有用。您可以使用以下逻辑或方法来检查备份磁盘池的使用百分比,然后发送电子邮件:

流程图

矩形块是脚本必须执行的操作。菱形是决策。同样的方法适用于 Perl、Python 或 Ruby 脚本以及 bash。例如,蓝色块从文件中读取一行。以下是使用 bash 从文件中读取行的方法:

同时读取-r行
    回显$行
    # 脚本的其余部分放在这里
完成 < "$filename"

绿色菱形表示一行是否对脚本有意义。其他行将被忽略。如果一行与“磁盘池名称”匹配,则脚本必须记住行尾的名称。

黄色菱形决定脚本是否应发送电子邮件。如果某一行与“使用%”匹配,则脚本必须检查它记住的名称是否有效,并确定使用百分比是否大于阈值。如果这些决定属实,则脚本发送电子邮件。

以下是编写脚本时可能有用的一些主题。

相关内容