主机参考:VPS测评参考推荐/专注分享VPS服务器优惠信息!若您是商家可以在本站进行投稿,查看详情!此外我们还提供软文收录、PayPal代付、广告赞助等服务,查看详情! |
我们发布的部分优惠活动文章可能存在时效性,购买时建议在本站搜索商家名称可查看相关文章充分了解该商家!若非中文页面可使用Edge浏览器同步翻译!PayPal代付/收录合作 |
1. 从 /var/abc/ 下面读取所有的文件,每个文件生成md5后存入数组$i_1,数组变量名为文件名
如 abc.txt 的变量名为 $i_1[abc.txt]
2. 每隔5秒从 /var/abc 下面读取所有的文件,每个文件生成md5后存入数组$i_2,数组变量名为文件名
如 abc.txt 的变量名为 $i_2[abc.txt]
3. 比较对应文件的md5值是否有变化,
如果
$i_1[abc.txt] != $i_2[abc.txt]
那么,就把 $i_2[abc.txt] 的值 赋给 $i_1[abc.txt]
并发送一封邮件给 abc@163.com 标题:abc.txt的内容已更改
—–
就是每隔5秒检查一个目录下的文件是否有变化,如果有,就发送邮件提醒。
各路大神的回复:
注册: 年纪大了,现学好吃力啊!不想自己搞了。
查无此人: 最难的是发邮件问题,这个需要你提供邮件 To: ABC@163.com Subject: $文件名 已更改 ———————————- 内容已更改 ——————————— EOF 复制代码
查无此人: Python行不,这不就是监控文件变化的吗,可以看下inotify rsync
查无此人: 哥们……你写这个脚本是为了监控文件是否被篡改吧?不如直接把目录的写权限关闭了。禁止写入
ansheng: 非得shell嘛。。感觉应该不难写,你的意思就是算完md5存起来然后一直算发现改变就发邮件
我能做两个小时: 发邮件解决了就简单
012: 不如说说实际需求吧,5秒算一次md5,算MD5也要时间的吧
注册: 网上有呀。 https://**blogs.com/zloven/p/6646404.html #!/bin/bash # $1 需要监测的文件 # $2 存放文件md5值,用于判断文件是否更改 # $3 可选文件更新后,需要执行的命令(用’service nginx restart’ 用单引号包起来) # 适用场景,修改某配置文件或更新某文件以后自动处理某些事物 if [ ! $1 ] || [ ! $2 ] || [ ! -e $1 ] ; then echo “$1 or $2 is file” exit fi # 生成md5验证文件 function creatMd5file() { md5sum -b $1 &
本文由主机参考刊发,转载请注明:50块求个bash 脚本 https://zhujicankao.com/22749.html 这几篇文章你可能也喜欢:
评论前必须登录!
注册