【问题标题】:Script response if md5sum returns FAILED如果 md5sum 返回 FAILED 则脚本响应
【发布时间】:2013-11-08 05:58:13
【问题描述】:

假设我有一个使用 md5sum 检查蜜罐位置的脚本。

#!/bin/bash
#cryptocheck.sh
#Designed to check md5 CRC's of honeypot files located throughout the filesystem.
#Must develop file with specific hashes and create crypto.chk using following command:
#/opt/bin/md5sum * > crypto.chk
#After creating file, copy honeypot folder out to specific folders

locations=("/share/ConfData" "/share/ConfData/Archive" "/share/ConfData/Application"
"/share/ConfData/Graphics")

for i in "${locations[@]}"
do
        cd "$i/aaaCryptoAudit"
        /opt/bin/md5sum -c /share/homes/admin/crypto.chk
done

输出看起来像这样:

http://pastebin.com/b4AU4s6k

如果出现“FAILED”,您会从哪里开始尝试识别输出并触发系统的某种响应?

我之前曾尝试使用 PERL 尝试解析日志文件,但我的尝试通常由于某种原因而惨败。

这可能不是解决此问题的正确方法,但我想将此脚本放入每分钟运行的 cronjob 中。我有一些人告诉我,一个 inotify 工作或脚本(我不熟悉这个)会比这样做更好。

有什么建议吗?

--- 编辑

我制作了另一个脚本来调用上面的脚本并将输出发送到文件。然后,新脚本在“FAILED”上运行 grep -q,如果它发现任何东西,它会发出警报(待定警报会是什么)。

#!/bin/bash
#cryptocheckinit.sh
#

#rm /share/homes/admin/cryptoalert.warn
/share/homes/admin/cryptocheck.sh > /share/homes/admin/cryptoalert.warn
grep -q "FAILED" /share/homes/admin/cryptoalert.warn && echo "LIGHT THE SIGNAL FIRES"

【问题讨论】:

  • 将标准输出重定向到/dev/null。如果有任何失败,md5sum 会写消息给stderr,cron 会邮寄给你。
  • 所以我突然顿悟了。我制作了另一个脚本来调用上面的脚本并将输出发送到文件。然后,新脚本在“FAILED”上运行 grep -q,如果它发现任何东西,它会发出警报(待定警报将是什么)。 #!/bin/bash #cryptocheckinit.sh # #rm /share/homes/admin/cryptoalert.warn /share/homes/admin/cryptocheck.sh > /share/homes/admin/cryptoalert.warn grep -q "FAILED" /share/homes/admin/cryptoalert.warn && echo "LIGHT THE SIGNAL FIRES"
  • 第二个脚本似乎没有必要。只需将循环的输出通过管道传输到grep -q FAILED

标签: perl bash md5 md5sum


【解决方案1】:

用途:

if ! /opt/bin/md5sum -c /share/homes/admin/crypto.chk
then 
    # Do something
fi

或者管道循环的输出:

for i in "${locations[@]}"
do
        cd "$i/aaaCryptoAudit"
        /opt/bin/md5sum -c /share/homes/admin/crypto.chk
done | grep -q FAILED && echo "LIGHT THE SIGNAL FIRES"

【讨论】:

  • 这很棒。感谢您的帮助。
猜你喜欢
  • 1970-01-01
  • 2023-03-25
  • 2022-10-02
  • 1970-01-01
  • 2021-05-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-01-10
相关资源
最近更新 更多