检查Linux文件变更Shell脚本

领导让做个脚本,大概意思就是每天检查下系统中的几个常用的文件,检查是否做过变更,然后把日志发成邮件出来。
所以先写脚本了,脚本其实很简单,大概就是先把文件备份出来,然后下次运行的时候,diff两个文件,写到日志里即可。

于是就写了一个,除了可以检查文件的变更,也可以检查某些命令输出的变更,还有shell文件输出的变更。

脚本很简单,见笑了。

View Code
#Subject:detect changes from command/file/shell
#Author:zhaofei
#Version:1.0 2013.1.23
#History:None
#
file_list="/etc/fstab /etc/passwd"
cmd_list="mount"
shell_list="computer_item.sh"
shell_root='/script/test'
date >> $shell_root/changes.log
for i in $file_list
do
        file_name=$(echo $i | sed 's/.*\///g')
        cp $i $shell_root/$file_name.new
        echo $file_name >> $shell_root/changes.log
        diff $shell_root/$file_name.new $shell_root/$file_name.old >> $shell_root/changes.log
        cp $shell_root/$file_name.new $shell_root/$file_name.old
        rm $shell_root/$file_name.new
done
for j in $cmd_list
do
        $j 1>$shell_root/$j.new
        echo $j >> $shell_root/changes.log
        diff $shell_root/$j.new $shell_root/$j.old >> $shell_root/changes.log
        cp $shell_root/$j.new $shell_root/$j.old
        rm $shell_root/$j.new
done
for k in $shell_list
do
        sh $shell_root/$k > $shell_root/$k.new
        echo $k >> $shell_root/changes.log
        diff $shell_root/$k.new $shell_root/$k.old >> $shell_root/changes.log
        cp $shell_root/$k.new $shell_root/$k.old
        rm $shell_root/$k.new
done

 

 

 

转载于:https://www.cnblogs.com/zhaofei2013/archive/2013/01/23/2873063.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值