The OpenNET Project / Index page

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




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
Нужно чистить файлы по опрееленным критериям, !*! universite, 23-Июл-11, 15:30  [смотреть все]
Лежит в директории куча бэкапов

config-00.32-27.12.2010.tar.bz2
config-02.32-21.03.2011.tar.bz2
config-04.17-01.02.2011.tar.bz2
config-04.17-01.03.2011.tar.bz2
config-04.17-01.04.2011.tar.bz2
config-04.17-01.05.2011.tar.bz2
config-04.17-01.06.2011.tar.bz2
...

нужно скриптом удалять лишние.
1) Хранить  файлы за последний месяц.
2) Хранить за 2-6 месяц только за 1,15 число
3) Харнить за 7 и последующие месяцы - только за первое число.


пока думаю заюзать find

  • Нужно чистить файлы по опрееленным критериям, !*! Andrey Mitrofanov, 16:07 , 23-Июл-11 (1)
    > пока думаю заюзать find

    юзай ls!

    ls config-*.tar.bz2 | $умный_фильтр |xargs rm

  • Нужно чистить файлы по опрееленным критериям, !*! universite, 19:51 , 23-Июл-11 (2)
    > пока думаю заюзать find


    dir=/path/to/target
    find $dir -type f  -mtime +30  ! \( -name "*-0*-01.*.tar.bz2" -o -name "*-0*-15.*.tar.bz2" \)  -delete
    find $dir -type f  -mtime +180 !    -name "*-0*-01.*.tar.bz2" -delete

    • Нужно чистить файлы по опрееленным критериям, !*! universite, 19:59 , 23-Июл-11 (3)
      >> пока думаю заюзать find
      >
       
      > dir=/path/to/target
      > find $dir -type f  -mtime +30  ! \( -name "*-0*-01.*.tar.bz2"
      > -o -name "*-0*-15.*.tar.bz2" \)  -delete
      > find $dir -type f  -mtime +180 !    -name
      > "*-0*-01.*.tar.bz2" -delete
      >

      -delete не заработала, несмотря на:


           -delete
                   Delete found files and/or directories.  Always returns true.
                   This executes from the current working directory as find recurses
                   down the tree.  It will not attempt to delete a filename with a
                   ``/'' character in its pathname relative to ``.'' for security
                   reasons.  Depth-first traversal processing is implied by this
                   option.  Following symlinks is incompatible with this option.

      Пришлось, через " -exec rm -rf {} \;" удалять


      dir=/path/to/target
      find $dir -type f  -mtime +30  ! \( -name "*-0*-01.*.tar.bz2" -o -name "*-0*-15.*.tar.bz2" \)  -exec rm -rf {} \;
      find $dir -type f  -mtime +180 !    -name "*-0*-01.*.tar.bz2" -exec rm -rf {} \;




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

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