Удаление файлов возрастом

Что относительно руководства Ubuntu?

16
05.05.2012, 01:49
2 ответа

Это удалит все файлы, более старые, чем 5 дней, можно поместить a -name '*log' там также, чтобы быть более точными и Вы могли бы хотеть указать a maxdepth в находке управляют также.

find /some/dir -type f -mtime +5 -delete

24
27.01.2020, 19:48
  • 1
    Хотя мудрые системные администраторы делают пробный прогон с -ls вместо -delete для проверки это не удалит ничего, что они хотели сохраненный. Да, говоря на основе опыта здесь. –  Shadur 05.05.2012, 17:21
  • 2
    Говоря на основе опыта, они также проверяют свой путь. или нет, так как я однажды сделал / some/dir/ версия. прекрасный :( –  Hennes 14.01.2013, 00:34

С помощью zsh и (.m+n) глобусных классификаторов : . выбирает только обычные файлы, m+n выбирает файлы, измененные более n дней назад;
. Например, перечислите файлы в текущем каталоге, которые были изменены более 9 дней назад:

print -rl -- *(.m+9)

добавить D, чтобы включить точечные файлы:

print -rl -- *(D.m+9)

или если вы хотите повторить (и перечислите, например, только файлы, заканчивающиеся на ). log):

setopt extendedglob
print -rl -- **/*.log(.m+9)

замените print -rl на rm, если вы довольны результатом; хотя, возможно, вам придется использовать zargs, если у вас много файлов (чтобы избежать слишком длинного списка аргументов -):

autoload zargs
zargs ./**/*(.m+9) -- rm
3
27.01.2020, 19:48

Теги

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