红联Linux门户
Linux帮助

把时间超过300天未访问文件的移动另外一个文件夹

发布时间:2012-11-25 15:23:15来源:红联作者:gogo11
以前做过,现在忘了是什么命令?有知道帮忙说一下!
我现在知道的命令是: find ./1/ -mtime +10 -exec cp {} ./2/ \;
但缺点是,他会把所有找到文件都放到2里边,没有目录结构,只有一个目录。
文章评论

共有 3 条评论

  1. touchlixiang 于 2012-11-28 14:12:15发表:

    学习一下

  2. gogo11 于 2012-11-27 20:07:12发表:

    [i=s] 本帖最后由 gogo11 于 2012-11-27 20:13 编辑 [/i]

    我自己编了一个脚本,大家看看:

    引用:
    [root@FileServer gogo11]# cat ~/script/new2old
    #/bin/bash
    my_path=`pwd`
    empty_directory_num=1
    cd /FileServer/Work_list/业务部
    echo "开始拷贝业务部内300天内没有被修改过的文件到../Old_Database/业务部(OLD)"
    find . -mtime +300 -exec cp --parents -v {} ../Old_Database/业务部(OLD) \;
    echo "开始删除业务部内300天内没有被修改过的文件"
    find . -mtime +300 -exec rm -fv {} \;
    while [ $empty_directory_num -ne 0 ]
    do
    find . -type d -empty -exec rmdir -v {} \; > /tmp/my_diy_empty
    empty_directory_num=`cat /tmp/my_diy_empty | wc -l`
    done
    empty_directory_num=1
    cd /FileServer/Work_list/技术部
    echo "开始拷贝技术部内250天内没有被修改过的文件到../Old_Database/技术部(OLD)"
    find . -mtime +250 -exec cp --parents -v {} ../Old_Database/技术部(OLD) \;
    echo "开始删除技术部250天内没有被修改过的文件"
    find . -mtime +250 -exec rm -fv {} \;
    while [ $empty_directory_num -ne 0 ]
    do
    find . -type d -empty -exec rmdir -v {} \; > /tmp/my_diy_empty
    empty_directory_num=`cat /tmp/my_diy_empty | wc -l`
    done
    rm -f /tmp/my_diy_empty
    cd $my_path

  3. byibnc 于 2012-11-25 21:35:37发表:

    不太懂这个