linux生成md5指定文件名,linux 通过MD5监控指定路径文件的变动
#!/bin/bash
#
#定义MD5文件保存的路径
md5_path=/tmp/md5.sum
#判断MD5基准校验文件是否存在,不存在则创建此文件,并修改权限只有root用户或者指定用户有读写权限
[ ! -f $md5_path ] && touch $md5_path && chmod 600 $md5_path
read -p "请输入你需要MD5检验文件的目录,必须以\"/\"开始: " path
if ! echo $path | grep -q "^/";then echo "不是以\"/\"开始";exit 1;fi
echo "#################################################"
#如果所给需要md5校验的目录不存在,或者目录存在但目录下没有一个文件,则返回错误并提示用户
if [ ! -d $path ] || [ `find $path -type f | wc -l` -eq 0 ];then
echo "错误:路径不存在或者该路径下没有文件"
exit 1
fi
#判断基准文件数量
for i in `cat /tmp/md5.sum | awk '{print $2}'`;do
[ ! -f $i ] && echo -e "[检测时间:`date +"%Y-%m-%d %T.%N"`] [文件:$i] \033[31m[MD5结果:去除]\033[0m" 2>&1 | tee -a /var/log/md5.log
done
for list in `find $path -type f`;do
# echo " list = $list"
new_md5_arg1=`md5sum $list | awk '{print $1}'`
new_md5_arg2=`md5sum $list | awk '{print $2}'`
old_md5_arg2=`awk -v List="$list" '$2 == List{print $2}' $md5_path`
if [[ "$new_md5_arg2" == "$old_md5_arg2" ]];then
old_md5_arg1=`awk -v List="$list" '$2 == List{print $1}' $md5_path`
if [[ ! "$new_md5_arg1" == "$old_md5_arg1" ]];then
echo -e "[检测时间:`date +"%Y-%m-%d %T.%N"`] [文件:$list] \033[31m[MD5结果:改变]\033[0m" 2>&1 | tee -a /var/log/md5.log
else
echo -e "[检测时间:`date +"%Y-%m-%d %T.%N"`] [文件:$list] \033[32m[MD5结果:未改变]\033[0m"
fi
else
md5sum $list >> $md5_path
echo -e "[检测时间:`date +"%Y-%m-%d %T.%N"`] [文件:$list] \033[31m[MD5结果:添加]\033[0m" 2>&1 | tee -a /var/log/md5.log
fi
#如果文件数量大,可以把sleep的时间间隔设置小点。
sleep 0.2
done
linux生成md5指定文件名,linux 通过MD5监控指定路径文件的变动相关推荐
- linux生成动态链接库返回字符串,Linux动态链接库的生成和使用
目录 1. 编写C程序 比如编写myfunc.c文件,里面包含两个函数,一个是say_hello,另一个是cal_sum. #include "myfunc.h" void say ...
- linux 按列提取文件名,Linux展示按文件名降序文件
Linux显示按文件名降序文件 Linux显示按文件名降序文件 youhaidong@youhaidong-ThinkPad-Edge-E545:~$ ls -lr 总用量 56 drwxr-xr-x ...
- Linux系统可以显示文件名,Linux系统如何显示中文目录和文件名
Linux系统如何显示中文目录和文件名 修改/etc/下的fstab文件,fstab内容如下 /dev/hda9 / ext2 defaults 1 1 /dev/hda8 /boot ext2 de ...
- linux生成目录间补丁,linux打补丁 patch
1.diff的使用 diff可以完成比较功能,生成补丁文件 格式::diff [option] oldfile newfile 常用的option选项有: -r 对目录进行递归处理 -u 输出统一格式 ...
- linux生成目录间补丁,linux之打补丁
linux内核打补丁 将帮助文件另存为的方法: BingGongtekiMacBook-Pro:~ binggong$ man cp |col -b >cp.man 1.比较文件的区别,创建补丁 ...
- linux生成表格文件大小,在Linux下制作工资表(转)
在Linux下制作工资表(转)[@more@] 在Linux桌面系统下,使用办公套件的电子表格模块可方便制作各种常用的表格,并进行数据计算或插入图表.下面以工资表为例,讲解在Linux下应用RedOf ...
- linux sed命令新文件名,linux中sed命令批量修改
sed命令下批量替换文件内容 格式: sed -i "s/查找字段/替换字段/g" `grep 查找字段 -rl 路径` 文件名 -i 表示inplace edit,就地修改文件 ...
- linux生成公钥实现ssh,linux下生成 SSH 公钥,用于GitHub
typedef 第一.四个用途 用途一: 定义一种类型的别名,而不只是简单的宏替换.可以用作同时声明指针型的多个对象.比如:char* pa, pb; // 这多数不符合我们的意图,它只声明了一个指向 ...
- linux上传ftp文件名乱码,windows使用ftp上传文件至UNAS中出现文件名乱码问题的解决...
之前在康博机械使用西数的nas,后来在耐达使用群晖的nas.nas的方便快捷深入我心,在之后我尝试过各种开源的nas系统,综合考考虑我的需求,我选择了宁波万由的免费unas系统.部署在我的一台HP,M ...
最新文章
- 大话设计模式—外观模式
- jquery 验证小数点后几位_利用jquery实现验证输入的是否是数字、小数,包含保留几位小数...
- 汇编语言(二十七)之身份证最后一位求和校验
- 业务随行:用户的网络访问策略还能这么玩
- ThinkJava-压缩
- VC之fseek函数、ftell函数和rewind函数
- 基于HFSS阵列天线设计
- 致信息安全专业同学的一封信
- 闲鱼数据采集学习研究
- 中南民大计算机学院复试细则,中南民族大学各学院2019年考研复试细则
- 国企安逸?我笑了……
- 短视频平台类的社交媒体市场现状与发展前景到底如何?
- python学习记录 day1
- JS逆向——国税总局发票查验平台
- thinkphp6错误页面编辑_Windows10在Word中编辑PDF文件
- EBImage中文文档
- 程序员,回头是岸(转)
- 旅游系统(SSM框架+MySQL+Redis+VUE)后端代码
- 计算机一级b证书图片p,只需两步,分分钟搞定证件照(内附福利)
- 机器人行业的一些术语