时间:2021-05-22
废话不多说了,直接给大家贴代码,具体代码如下所示:
#! /bin/bashwebroot="/home/www/"cp /dev/null rsync_fileif [ ! -f file.md5 ];then find $webroot -type f -exec md5sum {} \; >>file.md5else for file in $(md5sum -c file.md5|awk -F':' '/FAILED/{print $1}') do if [ -f $file ];then filename_z=$(echo $file|sed 's#/#\\/#g') sed -i "/ $filename_z/"d file.md5 md5sum $file >> file.md5 echo $file >> rsync_file else echo $file >>rsync_rm fi done for newfile in $(find $webroot -type f) do grep $newfile file.md5 >/dev/null 2>&1 if [ $? -gt 0 ];then md5sum $newfile >> file.md5 echo "$newfile" >> rsync_file fi donefor rfile in $(cat rsync_file)dorsync -avzp $rfile /home/www3/done脚本介绍:
1,监控 /home/www/ 目录改动,并将改动的文件rsync到/home/www3目录
2,监控方法为监控文件的md5值,如果md5值与上次不同,即发生改变
以上所述是小编给大家介绍的Shell脚本监控目录内文件改动,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
用shell写的递归遍历目录的脚本,脚本实现递归遍历指定目录,打印目录下的文件名。实例1:复制代码代码如下:#!/bin/shfunctionscandir()
需求描述编写shell脚本实现Linux下不同目录(路径)之间的文件的剪切(移动)操作。其中,文件移动之前所在的目录称为源目录,文件移动之后所在的目录称为目的目
最近遇到一个问题,输出指定目录下的所有子目录以及所有文件名简单写了个shell脚本实现functionecho_name(){forfilein`ls$1`do
一例批量转换目录下文件编码的shell脚本代码。需求描述:由于从window转linux过来,很多原来win下的gbk文件需要转换成utf8。以下脚本仅判断非u
Linux下如何统计当前目录下文件有多少个,目录又有多少个呢?下面用shell写一个脚本,放置在当前目录下,执行即可。复制代码代码如下:#!/bin/bash#