天天看點

用shell監控站點目錄下的檔案是否被修改

<code>#!/bin/bash</code>

<code>#check_file_md5 find /application/nginx/html/test1/ -type f | xargs md5sum &gt; /tmp/web_md5_f.txt</code>

<code>#check_file_num tree -i /application/nginx/html/test1 | grep -v "^$" &gt;&gt; /tmp/web_md5_num.txt.default</code>

<code>MD5=`</code><code>/usr/bin/md5sum</code> <code>-c </code><code>/tmp/web_md5_f</code><code>.txt | </code><code>grep</code> <code>-</code><code>v</code> <code>"OK"</code> <code>| </code><code>wc</code> <code>-l`</code>

<code>TREE=`tree -i </code><code>/application/nginx/html/test1</code> <code>| </code><code>grep</code> <code>-</code><code>v</code> <code>"^$"</code><code>&gt; </code><code>/tmp/web_md5_num</code><code>.txt`</code>

<code>if</code> <code>[ </code><code>"$MD5"</code> <code>-</code><code>ne</code> <code>0 ];</code><code>then</code>

<code>        </code><code>echo</code> <code>"At $(date +%F) /application/nginx/html/test1 has been changed!Please make sure!"</code>

<code>else</code>

<code>        </code><code>echo</code> <code>"Everything is OK!"</code>

<code>fi</code>

<code>diff</code> <code>/tmp/web_md5_num</code><code>.txt </code><code>/tmp/web_md5_num</code><code>.txt.default</code>

實作的原理為

    1.監控檔案的md5值前後是否一樣,如果不一樣md5sum對比時會報錯

    2.通過tree指令輸出到指定檔案中,并用diff對比前後兩的生成的内容是否一樣,如果多出或者少的檔案,會進行提示

知識點:

    md5sum -c:可以實作md5值的前後對比,如果對比失敗,會提示FAILED

    tree -i:去掉樹型結構,直接以列的形式顯示

    本文轉自激情燃燒的歲月部落格51CTO部落格,原文連結http://blog.51cto.com/liuzhengwei521/1773018如需轉載請自行聯系原作者

weilovepan520

繼續閱讀