需要一些想法如何为以下要求编写 shell 脚本

需要一些想法如何为以下要求编写 shell 脚本

编写以下 bash 脚本:

我们需要监控和跟踪Linux服务器上所有挂载点的变化。如果挂载点有任何更改,应通过电子邮件向 IT 团队发出警报。此外,该脚本应该能够提供存在问题的相应安装点的空间利用率。即示例警报: 1. 在挂载点 /mnt/app1 上检测到更改,它是新添加的挂载点,当前使用量为分配的 200GB 中的 90 GB 1. 在挂载点 /mnt/app0 上检测到更改,它是较早挂载的,但它现在尚未安装

答案1

每一个n秒:

  1. 列出已挂载的挂载点及其磁盘使用情况:

    LC_ALL=C df -h $(
      LC_ALL=C mount | 
      grep '^/\S\+ on \S\+' |
      sed -Ee 's/^\S+\s+on\s+(\S+).*/\1/'
    ) | tail -n +2
    

    (不要在生产中按原样使用示例代码;您当然需要清理已安装的安装点列表。)

  2. 将当前列表与先前列表进行比较,例如使用diff.

  3. 如果存在差异,请解释它们并生成漂亮的电子邮件。

  4. 将旧列表替换为当前列表。

相关内容