Linux查找命令并复制并重命名它们

时间:2016-08-22 12:57:03

标签: linux bash shell redhat

你能帮我写一个脚本,我只想找到超过2GB的日志文件并将它们复制到同一目录下的存档文件夹。我只是写一个找不到它的命令,感谢有人可以提供帮助我。

ex - 主日志文件夹 - / vsapp / logs /                                      - app1,app2,app3 app1,app2和app3文件夹中有很多日志。

所以我想在logs文件夹中找到超过2GB的日志,并将它们复制到具有今天日期的不同名称的存档文件夹。

ex - abcd.log -----复制到-----> abcd.log-2016年8月22日

目前我的命令无效

find $i/* -type f -size +2G -exec cp '{}' $i/$arc/{}-$date

1 个答案:

答案 0 :(得分:2)

你可以这样做:

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的{​​{1}}操作