|
发表于 2003-7-2 12:27:20
|
显示全部楼层
这样试试:
ls -1 /data/data1 > file.lst1
然后过一段时间再执行一次:
ls -1 /data/data1 > file.lst2
然后比较两次的差别。提出比file.lst多的文件名:
diff list1 list2 | grep ^\> | awk '{print $2}'
完整的脚本:
- #!/bin/sh
- if [ -e file.lst1 ]; then
- ls -1 /data/data1 > file.lst2
- else
- ls -1 /data/data1 > file.lst1
- ls -1 /data/data1 > file.lst2
- fi
- for i in `diff file.lst1 file.lst2 | grep ^\> | awk '{print $2}'`; do
- if [ "$i" != "file.lst1" -a "$i" != "file.lst2" ]; then
- chattr +i $i
- fi
- done
- cp file.lst2 file.lst1
- sleep 120 # 休息2分钟再执行
- $0
复制代码
我是假设你将这个shell脚本也放在/data/data1中,如果没有放在/data/data1中就不需要:
if [ "$i" != "file.lst1" -a "$i" != "file.lst2" ]; then
这句了。
|
|