介绍:在linux系统下, 找出新修改的文件,并且,复制到 合适的位置。
#注意:每次修改代码前,在/var/www/html/jitong360temp 下面 touch time.txt
[root@bogon jitong360temp]# pwd
/var/www/html/jitong360temp
[root@bogon jitong360temp]# touch time.txt
[root@bogon html]# pwd
/var/www/html
[root@bogon html]# chmod +x find-alter-files.sh
[root@bogon html]# ./find-alter-files.sh jitong360temp
[root@bogon html]# gedit find-alter-files.sh
#!/bin/sh
#用shell写了个递归遍历目录的脚本,本脚本实现递归遍历指定目录,打印目录下的文件名(全路径)。
#注意:每次修改代码前,在/var/www/html/jitong360temp 下面 touch time.txt
#存放修改后的文件 /root/var/www/html/jitong360temp
#newerdir="/root"
function scandir() {
local cur_dir parent_dir workdir newerdir
newerdir="/root"
workdir=$1
cd ${workdir}
if [ ${workdir} = "/" ]
then
cur_dir=""
else
cur_dir=$(pwd)
fi
for dirlist in $(ls ${cur_dir})
do
if test -d ${dirlist};then
cd ${dirlist}
scandir ${cur_dir}/${dirlist}
cd ..
elif test -f ${dirlist};then
#在Linux系统下, 找出新修改的文件,并且,复制到 合适的位置
#注意:每次修改代码前,在/var/www/html/jitong360temp 下面 touch time.txt
newer=`find ${dirlist} -newer /var/www/html/jitong360temp/time.txt`
if [ "${newer}" == "${dirlist}" ];then
tmp_dir=$(pwd)
mkdir -p ${newerdir}${tmp_dir} 2> /dev/null
cp ${newer} ${newerdir}${tmp_dir}
fi
fi
done
}
if test -d $1
then
scandir $1
elif test -f $1
then
echo "you input a file but not a directory,pls reinput and try again"
exit 1
else
echo "the Directory isn't exist which you input,pls input a new one!!"
exit 1
fi