Linux查找命令,同时复制和重命名它们

Linux查找命令,同时复制和重命名它们,linux,bash,shell,redhat,Linux,Bash,Shell,Redhat,你能帮我写一个脚本吗?我只想找到2GB以上的日志文件,并将它们复制到同一目录下的存档文件夹中。我只是写了一个查找命令,但它不起作用,如果有人能帮助我,我将不胜感激 ex-主日志文件夹-/vsapp/logs/ -附件1、附件2、附件3 app1、app2和app3文件夹中有大量日志 因此,我想在超过2GB的logs文件夹中找到日志,并将它们复制到具有不同名称和今天日期的archive文件夹中 ex-abcd.log-----复制至------>abcd.log-08-22-2016 目前我的命令

你能帮我写一个脚本吗?我只想找到2GB以上的日志文件,并将它们复制到同一目录下的存档文件夹中。我只是写了一个查找命令,但它不起作用,如果有人能帮助我,我将不胜感激

ex-主日志文件夹-/vsapp/logs/ -附件1、附件2、附件3 app1、app2和app3文件夹中有大量日志

因此,我想在超过2GB的logs文件夹中找到日志,并将它们复制到具有不同名称和今天日期的archive文件夹中

ex-abcd.log-----复制至------>abcd.log-08-22-2016

目前我的命令不起作用

find $i/* -type f -size +2G -exec cp '{}' $i/$arc/{}-$date
你可以做:

find /src -type f -name '*.log' -size +2G -exec cp {} /dest/{}-$(date -I) \;
我所作的补充/修改:

  • -name'*.log'
    只搜索日志文件,因为我们只对这些文件感兴趣。如果不确定,您也可以查找具有任何名称的文件,在这种情况下只需省略
    -name'*.log

  • $(date-I)
    是命令替换。输出将是今天的日期,格式为
    YYYY-mm-dd
    ,您还可以定义自定义格式,选中
    man date

  • 使用
    \,结束
    -exec
    find
    操作


查找-类型f-size+2G-exec cp{}archive/{}-date\;请尝试此操作,但无效,它不是复制,我正在通过创建一个大小为2GB的wchi文件进行测试。@SLS请再次检查我的命令。你需要
find-类型f-size+2G-exec cp{}archive/{}-$(date-I)\
Nop friend,它不会复制到存档文件夹。@SLS您确定这样做是正确的吗?你能用
find获取文件名吗-键入f-size+2G
?抱歉,Heemayl,您的回答是正确的,我创建了dum文件,但它实际上没有显示正确的文件大小,这就是问题所在,我已经处理了realy日志文件并对其进行了测试。这是工作非常感谢你的支持,我会使这作为解决