Найти файлы, измененные за последние 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