用shell脚本判断文件是不是在变化
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用shell脚本判断文件是不是在变化相关的知识,希望对你有一定的参考价值。
linux中有一个父文件夹,
1. 遍历它的一级子目录,记录每个子文件夹的大小;
2. sleep 20
3. 再次遍历它的一级子目录,记录每个子文件夹的大小;
4. 比较两次遍历,在大小在变化的文件夹内生成一个子文件,记录当前时间。
能麻烦您写一下具体代码看看吗?shell还不太会用 好多功能不知道什么关键词( •̥́ ˍ •̀ू )
参考技术B 1、Tripwire是一个免费的开源入侵检测系统(IDS)。 它是用于监视和警告系统上文件更改的安全工具。yum -y install tripwire
2、stat命令主要用于显示文件或文件系统的详细信息
OLD_SIZE=`stat -c %s filename`
sleep 20
NEW_SIZE=`stat -c %s filename`
if [[ "$OLD_SIZE" != "$NEW_SIZE" ]]
then :
echo "changed"
else :
echo "no change"
fi
3、md5sum计算文件列表的hash值并保存成文件,和20秒后生成的文件比较
find . -type f -exec md5sum \; > a.txt
sleep 20
find . -type f -exec md5sum \; > b.txt
diff a.txt b.txt本回答被提问者采纳
shell 脚本 if 判断多个条件
参考技术A 1.如果a>b且a<c2.如果a>b或a<c
4."||"和"&&"在SHELL里可以用吗?也就是第一个写成if [ a>b && a<c ]也可以吗?
可用, 但是要两个独立的 [ ] , [[ ]] 或 (( )) 看 1
5 -ne 比较数字 (numberic) ; != 比较字符 (string), 但后者拿来
比较数字也可,只是不是标准用法
-lt 是等同 < , 但 < 只能在 shell 的数值操作符 (( )) 或
者 逻缉操作符 [[ ]] 才可使用, -lt , -eq , -gt , -ge
-le , 这些是 test , 就是 [ ] 这个内建命令使用的条件操
作符, 数字用, = , != 字符用, == 这个该是 [[ ]] 用的,
可用来比对正规表示式, 但用在 [ ] 也可,只是不太正统用法
以上是关于用shell脚本判断文件是不是在变化的主要内容,如果未能解决你的问题,请参考以下文章