The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Как удалять файлы старше N дней???"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Открытые системы на сервере (Квоты, ограничения, QoS / Linux)
Изначальное сообщение [ Отслеживать ]

"Как удалять файлы старше N дней???"  +1 +/
Сообщение от ComP email on 18-Янв-08, 09:56 
Привет, может кто знает как решить задачу. Есть общая папка, и надо удалять файлы старше допустим месяца, как или чем это можно сделать?
Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Как удалять файлы старше N дней???"  +/
Сообщение от newser (ok) on 18-Янв-08, 10:33 
>Привет, может кто знает как решить задачу. Есть общая папка, и надо
>удалять файлы старше допустим месяца, как или чем это можно сделать?
>

Читайте man find.

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "Как удалять файлы старше N дней???"  +/
Сообщение от XAnder (ok) on 18-Янв-08, 10:35 
>Привет, может кто знает как решить задачу. Есть общая папка, и надо
>удалять файлы старше допустим месяца, как или чем это можно сделать?

find путь -type f \! -newermt '1 month ago' -exec rm {} \;

или что-то в этом роде, man find точно поможет написать условие на любой вкус. Но с -exec rm осторожнее!

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

3. "Как удалять файлы старше N дней???"  +/
Сообщение от Arpo email(ok) on 18-Янв-08, 10:46 
>>Привет, может кто знает как решить задачу. Есть общая папка, и надо
>>удалять файлы старше допустим месяца, как или чем это можно сделать?
>
>find путь -type f \! -newermt '1 month ago' -exec rm {}
>\;
>
>или что-то в этом роде, man find точно поможет написать условие на
>любой вкус. Но с -exec rm осторожнее!

Сорри канечно, прочитал весь man find, но не нашел опции -newermt, у вас какая система если не секрет.
Для решения данной задачи всегда использовал -mtime(OS Solaris10).

Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

4. "Как удалять файлы старше N дней???"  +1 +/
Сообщение от XAnder (ok) on 18-Янв-08, 10:59 
>[оверквотинг удален]
>>
>>find путь -type f \! -newermt '1 month ago' -exec rm {}
>>\;
>>
>>или что-то в этом роде, man find точно поможет написать условие на
>>любой вкус. Но с -exec rm осторожнее!
>
>Сорри канечно, прочитал весь man find, но не нашел опции -newermt, у
>вас какая система если не секрет.
>Для решения данной задачи всегда использовал -mtime(OS Solaris10).

Система FreeBSD 6.0. В man'е опция -newerXY. Выражение "! -newermt время" означает "изменён не позже указанного времени". Выражение "-mtime время" во FreeBSD даёт условие "изменён точно в указанное время" - не наш случай. Форматы времени у этих опций различаются. Как это всё выглядит в Solaris'е, не знаю, ибо не пользовался.

Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

5. "Как удалять файлы старше N дней???"  +/
Сообщение от Arpo email(ok) on 18-Янв-08, 11:28 
>[оверквотинг удален]
>>
>>Сорри канечно, прочитал весь man find, но не нашел опции -newermt, у
>>вас какая система если не секрет.
>>Для решения данной задачи всегда использовал -mtime(OS Solaris10).
>
>Система FreeBSD 6.0. В man'е опция -newerXY. Выражение "! -newermt время" означает
>"изменён не позже указанного времени". Выражение "-mtime время" во FreeBSD даёт
>условие "изменён точно в указанное время" - не наш случай. Форматы
>времени у этих опций различаются. Как это всё выглядит в Solaris'е,
>не знаю, ибо не пользовался.

ОК, ясно.

Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

7. "Как удалять файлы старше N дней???"  +/
Сообщение от newser (ok) on 18-Янв-08, 15:46 
>Выражение "-mtime время" во FreeBSD даёт
>условие "изменён точно в указанное время" - не наш случай.

Это Вы в заблуждение вводите. Выражение -mtime прекрасно подходит для выяснения "изменён раньше" и "изменён позже". Внимательнее читайте man find.


Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

8. "Как удалять файлы старше N дней???"  +/
Сообщение от XAnder (ok) on 18-Янв-08, 19:15 
>>Выражение "-mtime время" во FreeBSD даёт
>>условие "изменён точно в указанное время" - не наш случай.
>
>Это Вы в заблуждение вводите. Выражение -mtime прекрасно подходит для выяснения "изменён
>раньше" и "изменён позже". Внимательнее читайте man find.

Да, согласен, можно написать "-mtime +30d". Однако, так нельзя записать условие "больше месяца назад" - месяцы-то разные бывают. Вот "! -newermt '1 month ago'" прокатывает отлично - но это мелочи.

Ответить | Правка | ^ к родителю #7 | Наверх | Cообщить модератору

6. "Как удалять файлы старше N дней???"  +/
Сообщение от ComP email on 18-Янв-08, 11:37 
Огромное Спасибо, буду РЫТЬ!!!
Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

9. "Как удалять файлы старше N дней???"  +/
Сообщение от igl on 05-Июн-09, 01:04 
find ./ -mtime +180|xargs rm -f   == удаляет все файлы старше 180 дней (Linux 2.6.9)

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

10. "Как удалять файлы старше N дней???"  +/
Сообщение от rfcr (ok) on 22-Окт-09, 12:47 
>find ./ -mtime +180|xargs rm -f   == удаляет все файлы
>старше 180 дней (Linux 2.6.9)

Таким образом он удалит файлы время создания у которых старше 180 дней.

А время создания например может не совпадать с временем когда файл положили в расшаренную папку:
# ls -l
-rwxr--r-- 1 nobody nobody 753011808 Авг 10  2007   имя файла

Этот файл был скопирован несколько дней назад, но он будет удален, т.к. время его создания - 2007 год.


Как тогда удалить именно те файлы, которые были скопированы старше 180 дней (180 дней назад или больше)?

Ответить | Правка | ^ к родителю #9 | Наверх | Cообщить модератору

11. "Как удалять файлы старше N дней???"  +/
Сообщение от koenig on 25-Май-10, 12:51 
>[оверквотинг удален]
># ls -l
>-rwxr--r-- 1 nobody nobody 753011808 Авг 10  2007   имя
>файла
>
>Этот файл был скопирован несколько дней назад, но он будет удален, т.к.
>время его создания - 2007 год.
>
>
>Как тогда удалить именно те файлы, которые были скопированы старше 180 дней
>(180 дней назад или больше)?

find ./ -atime +180|xargs rm -f

Ответить | Правка | ^ к родителю #10 | Наверх | Cообщить модератору

12. "Как удалять файлы старше N дней???"  +1 +/
Сообщение от rfcr (ok) on 09-Июн-10, 15:43 
Спасибо!


Ответить | Правка | ^ к родителю #11 | Наверх | Cообщить модератору

13. "Как удалять файлы старше N дней???"  +/
Сообщение от aniserg on 18-Янв-14, 12:03 
>[оверквотинг удален]
>>-rwxr--r-- 1 nobody nobody 753011808 Авг 10  2007   имя
>>файла
>>
>>Этот файл был скопирован несколько дней назад, но он будет удален, т.к.
>>время его создания - 2007 год.
>>
>>
>>Как тогда удалить именно те файлы, которые были скопированы старше 180 дней
>>(180 дней назад или больше)?
> find ./ -atime +180|xargs rm -f

find ./ -atime +180 -delete

Ответить | Правка | ^ к родителю #11 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Спонсоры:
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2021 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру