您的位置:首页 > 运维架构 > Linux

在Linux, 找出新修改的文件

2016-02-01 00:00 549 查看
#在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

#http://www.wenzizone.cn/?p=313
#晚上没事,用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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: