Привет, может кто знает как решить задачу. Есть общая папка, и надо удалять файлы старше допустим месяца, как или чем это можно сделать?
>Привет, может кто знает как решить задачу. Есть общая папка, и надо
>удалять файлы старше допустим месяца, как или чем это можно сделать?
>Читайте man find.
>Привет, может кто знает как решить задачу. Есть общая папка, и надо
>удалять файлы старше допустим месяца, как или чем это можно сделать?find путь -type f \! -newermt '1 month ago' -exec rm {} \;
или что-то в этом роде, man find точно поможет написать условие на любой вкус. Но с -exec rm осторожнее!
>>Привет, может кто знает как решить задачу. Есть общая папка, и надо
>>удалять файлы старше допустим месяца, как или чем это можно сделать?
>
>find путь -type f \! -newermt '1 month ago' -exec rm {}
>\;
>
>или что-то в этом роде, man find точно поможет написать условие на
>любой вкус. Но с -exec rm осторожнее!Сорри канечно, прочитал весь man find, но не нашел опции -newermt, у вас какая система если не секрет.
Для решения данной задачи всегда использовал -mtime(OS Solaris10).
>[оверквотинг удален]
>>
>>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'е, не знаю, ибо не пользовался.
>[оверквотинг удален]
>>
>>Сорри канечно, прочитал весь man find, но не нашел опции -newermt, у
>>вас какая система если не секрет.
>>Для решения данной задачи всегда использовал -mtime(OS Solaris10).
>
>Система FreeBSD 6.0. В man'е опция -newerXY. Выражение "! -newermt время" означает
>"изменён не позже указанного времени". Выражение "-mtime время" во FreeBSD даёт
>условие "изменён точно в указанное время" - не наш случай. Форматы
>времени у этих опций различаются. Как это всё выглядит в Solaris'е,
>не знаю, ибо не пользовался.ОК, ясно.
>Выражение "-mtime время" во FreeBSD даёт
>условие "изменён точно в указанное время" - не наш случай.Это Вы в заблуждение вводите. Выражение -mtime прекрасно подходит для выяснения "изменён раньше" и "изменён позже". Внимательнее читайте man find.
>>Выражение "-mtime время" во FreeBSD даёт
>>условие "изменён точно в указанное время" - не наш случай.
>
>Это Вы в заблуждение вводите. Выражение -mtime прекрасно подходит для выяснения "изменён
>раньше" и "изменён позже". Внимательнее читайте man find.Да, согласен, можно написать "-mtime +30d". Однако, так нельзя записать условие "больше месяца назад" - месяцы-то разные бывают. Вот "! -newermt '1 month ago'" прокатывает отлично - но это мелочи.
Огромное Спасибо, буду РЫТЬ!!!
find ./ -mtime +180|xargs rm -f == удаляет все файлы старше 180 дней (Linux 2.6.9)
>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 дней назад или больше)?
>[оверквотинг удален]
># ls -l
>-rwxr--r-- 1 nobody nobody 753011808 Авг 10 2007 имя
>файла
>
>Этот файл был скопирован несколько дней назад, но он будет удален, т.к.
>время его создания - 2007 год.
>
>
>Как тогда удалить именно те файлы, которые были скопированы старше 180 дней
>(180 дней назад или больше)?find ./ -atime +180|xargs rm -f
Спасибо!
>[оверквотинг удален]
>>-rwxr--r-- 1 nobody nobody 753011808 Авг 10 2007 имя
>>файла
>>
>>Этот файл был скопирован несколько дней назад, но он будет удален, т.к.
>>время его создания - 2007 год.
>>
>>
>>Как тогда удалить именно те файлы, которые были скопированы старше 180 дней
>>(180 дней назад или больше)?
> find ./ -atime +180|xargs rm -ffind ./ -atime +180 -delete