linux - 查找在过去 15 分钟内更改的文件,不包括一些子目录并将其压缩

标签 linux bash shell terminal find

我试图在父目录中查找最近 15 分钟内修改过的文件。我想排除一些我知道不会改变以加快进程的子目录。并将查找结果提供给 tar.gz。

文件夹结构是

/升级/Rabc

/upgrade/Rdef 即(名称以 R 开头)

我试过: 查找/升级/-mmin -15 -print0 | xargs -0 tar -cjf/storage/fileschanged.tar.gz

这需要很多时间。我尝试的最后一个已经超过 45 分钟并且仍在运行。/upgrade/文件夹大约有 100 Gigs。 以 15 分钟间隔查找的原因是因为有一个 cron 作业每 15 分钟更改一次文件。

另外我想排除文件夹

/升级/Rabc/Weblogic

/升级/Rabc/耳朵

请帮忙。

最佳答案

如果在 xargs 之前使用另一个管道会怎么样?

find /upgrade/ -type f -mmin -15 -print0 | egrep -v "(Weblogic|ears)" | xargs -0 tar -cjf /storage/fileschanged.tar.gz

关于linux - 查找在过去 15 分钟内更改的文件,不包括一些子目录并将其压缩,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40598838/

相关文章:

linux - 即使在 LINUX 上给定的缓冲区足够,套接字 UDP recvfrom 也不适用于大数据包

linux - 如何根据 K 列的长度对 Tab 格式文件进行排序

linux - Mail/Mailx 可以和邮件服务器信息一起使用吗?

bash - 如何在 shell 脚本中进行异步函数调用

linux - 为什么终端一直显示 'number of files 1' ?

linux - 移动文件并重命名 - 一行

bash - 从带有空格的脚本导出环境变量

javascript - 简单的 HTML 和 JavaScript shell 游戏

linux - pyserial输入缓冲区

bash - 如何获取包含字符串的特定文件的文件路径?