Как заархивировать файлы с определенным именем из каталога ветки старше 18 месяцев?

У меня есть запрос linux, и мне было интересно, знаете ли вы, как объединить несколько команд в одну с этим критерием:

  1. Найти файлы, из каталога ветки, называемого generic_log_ * - старше 547 дней (+547)
  2. gzip (мы установили только gzip) эти файлы

Я знаю, как сделать оба по отдельности

  1. find / var / wbp / v3 -iaasstage / dataArea -name "generic_log_ *" -type f -mtime +547
  2. gzip generic_log _ *

Я пробовал конвейер, но у меня это не сработало :)

0
задан 17 August 2020 в 18:39

1 ответ

В вашей команде «найти» в пункте 1 отсутствует часть действия :) (поэтому она использует действие по умолчанию -print ). Добавьте действие для сжатия найденных файлов, например:

find / var / wbp / v3-iaasstage / dataArea -name "generic_log_ *" -type f -mtime +547 -exec gzip {} \;

This будет только сжатие файлов, не перечисляя их. Если вы хотите и перечислить файлы, и сжать их, вы можете объединить оба действия следующим образом:

find / var / wbp / v3-iaasstage / dataArea -name "generic_log_ *" -type f -mtime +547 -print - exec gzip {} \;

0
ответ дан 21 August 2020 в 07:57

Другие вопросы по тегам:

Похожие вопросы: