Linux查找命令,同时复制和重命名它们
你能帮我写一个脚本吗?我只想找到2GB以上的日志文件,并将它们复制到同一目录下的存档文件夹中。我只是写了一个查找命令,但它不起作用,如果有人能帮助我,我将不胜感激 ex-主日志文件夹-/vsapp/logs/ -附件1、附件2、附件3 app1、app2和app3文件夹中有大量日志 因此,我想在超过2GB的logs文件夹中找到日志,并将它们复制到具有不同名称和今天日期的archive文件夹中 ex-abcd.log-----复制至------>abcd.log-08-22-2016 目前我的命令不起作用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 目前我的命令
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
find-类型f-size+2G-exec cp{}archive/{}-$(date-I)\
Nop friend,它不会复制到存档文件夹。@SLS您确定这样做是正确的吗?你能用find获取文件名吗-键入f-size+2G
?抱歉,Heemayl,您的回答是正确的,我创建了dum文件,但它实际上没有显示正确的文件大小,这就是问题所在,我已经处理了realy日志文件并对其进行了测试。这是工作非常感谢你的支持,我会使这作为解决