Форум OlegON > Компьютеры и Программное обеспечение > Операционные системы и программное обеспечение > Linux

Как удалить файлы, кроме нескольких последних : Linux

28.03.2024 14:12


11.05.2021 16:29
OlegON
 
Обычно удаляю файлики по дате, то есть, например, старше 14 дней
Код:
find /ПУТЬ/ -mtime +14 -delete
тут все просто.
Однако, такое удаление не подходит для бекапов, поскольку, если по каким-то причинам он не создается, а скриптик подчищает старые только по дате, то в один прекрасный момент можно остаться вообще без бекапов. Соответственно, надо удалять все, кроме последних 14 (если у вас бекапы из нескольких файлов, то придется еще доработать скрипт).
Код:
find /ПУТЬ/ -type f -printf '%T@\t%p\n' |
sort -t $'\t' -g | 
head -n -14 | 
cut -d $'\t' -f 2- |
xargs rm
прошу замечания и советы...
Часовой пояс GMT +3, время: 14:12.

Форум на базе vBulletin®
Copyright © Jelsoft Enterprises Ltd.
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.