简易的档案异动通知, 可用于网站检查

一个很古老又简单的档案异动通知,已经是十几年前写的了,鑑于现在有很多网站被入侵与挂马,因此把这个老东西改个路径名称, 写出来给 unix 的网站管理员做为参考。

它的特色在于 "非常简单",懂一点点 unix 就可以用了。

它的功能只是检查与通知,主要是让管理者知道一小时内有哪些档案做了更动,若发现有不是自己去更动的档案时,可以尽速检查系统的弱点。 若系统已经有漏洞被入侵了,光是做档案复盖是没有用的,因此这个范例不包含档案回复的功能。
  1. 建立一个 /chk_file.csh,内容如下:
    cd /tmp
    find /var/www/htdocs -type f -mmin -60 -print >! xx.$$
    set lines = `wc -l xx.$$`
    if ( $lines[1] < 1 ) then
    \rm xx.$$
    else
    mail -s file_changed me@xxx.com < xx.$$
    \rm xx.$$
    endif

    ** 注:
    1. /var/www/htdocs 换成要监控的路径
    2. me@xxx.com 换成自己的 email

  2. 在 crontab 加入: 0 * * * * /bin/csh /chk_file.csh >/dev/null 2>&1
这样就完成了,若监控的路径有档案更动,便会 email 通知你。

若要监控多个路径,只要更动一行,范例:
find /var/www/htdocs /var/www/web2 -type f -mmin -60 -print >! xx.$$

本文作者: Web Admin - DragonSoft