Найти файлы, измененные за последние 15 минут, исключая некоторые дочерние каталоги, и скопировать их

Я пытаюсь найти файлы в родительском каталоге, которые были изменены за последние 15 минут. Я хочу исключить некоторые дочерние каталоги, которые, как я знаю, не изменяются, чтобы ускорить процесс. а также передать результат поиска в tar.gz.

структура папок

/ Обновить / Rabc

/ upgrade / Rdef т.е. (перед именем стоит R)

Я пытался: найти / обновить / -mmin -15 -print0 | xargs -0 tar -cjf /storage/fileschanged.tar.gz

Это занимает чертовски много времени. Последнее, что я попробовал, заняло 45 минут и все еще работало. Папка / upgrade / составляет около 100 гигабайт. Причина поиска с интервалом в 15 минут заключается в том, что существует задание cron, которое изменяет файлы каждые 15 минут.

Также я хочу исключить папки

/ Обновить /Rabc/ Weblogic

/ обновить /Rabc/ уши

Пожалуйста помоги.

1 ответ

Что делать, если вы используете другую трубу перед Xargs?

find /upgrade/ -type f -mmin -15 -print0 | egrep -v "(Weblogic|ears)" | xargs -0 tar -cjf /storage/fileschanged.tar.gz
Другие вопросы по тегам