2

我有一个用 sh/bash 编写并每天运行并检查所有操作系统的 SCSI/FC 多路径的脚本。如果出现错误,脚本会生成特殊的“Error”字符串并将其发送到 syslog,我们的监控程序会在其中提取它并为操作员生成事件记录。我需要为脚本实现生成此特殊“错误”到系统日志的能力,而不是每天都存在该错误,而是每周一次。所以,我需要实现这种类型的逻辑: 第 1 天:存在错误 - 生成特殊的“错误”字符串并将其发送到 syslog,例如创建具有创建日期的临时文件 第 2 天:存在错误 - 检查临时文件创建日期以及是否日期少于 7 天,不要生成特殊的“错误”字符串,也不要将其发送到 syslog。......第8天:

实施此类内部验证的最佳方式是什么?

4

1 回答 1

2

我想到的是这样的:

  1. 检查错误情况
  2. 执行find "error_file_dir" -mtime 7 -name "error_file"并检查错误代码以查看是否找到文件编辑:检查返回的行数而不是错误代码
  3. 如果未找到该文件,则记录错误,然后将错误写入 error_file_dir/error_file(如果存在则覆盖该文件)

这里的关键是要查找的 mtime 参数。它将确保只有在过去 7 天内修改过的文件才会返回,在这种情况下,您不会记录错误。

于 2012-12-10T19:03:05.303 回答