The OpenNET Project / Index page

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




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
Комбинирование логов, !*! YaoDzi, 05-Июл-12, 12:01  [смотреть все]
Привет всем!

Помогите пожалуйста в написании следующего скрипта. Есть папка, в которую сохраняются сотни различных логов, вида:

city.log.2012-01-01
city.log.2012-01-02
...
city.log.2012-07-05

autos.log.2012-01-01
autos.log.2012-01-02
...
autos.log.2012-07-04


В результате нужно скомбинировать все эти логи по архивам, то есть скрипт должен находить все файлы с одинаковой датой (считывает из имени файла) и сжимает их в единый архив. В итоге выглядеть могло бы это так:

2012-01-01.tar.gz # содержит файлы city.log.2012-01-01, autos.log.2012-01-01, итд.2012-01-01
2012-01-02.tar.gz # содержит файлы city.log.2012-01-02, autos.log.2012-01-02, итд.2012-01-02

  • Комбинирование логов, !*! YaoDzi, 12:32 , 05-Июл-12 (1)
    Вобщем такое дело получилось и в принципе выполняет всё задуманное:

    DATE=$(ls | awk -F . '{print $3}')
    for SORT in $DATE
    do
    tar -czf /some/dir/$SORT.tar.gz *.$SORT
    done

    Может кому пригодится..

    • Комбинирование логов, !*! LSTemp, 21:24 , 05-Июл-12 (2)
      > Вобщем такое дело получилось и в принципе выполняет всё задуманное:
      > DATE=$(ls | awk -F . '{print $3}')
      > for SORT in $DATE
      > do
      > tar -czf /some/dir/$SORT.tar.gz *.$SORT
      > done
      > Может кому пригодится..

      а зачем? про logrotate, etc не слышали?

      ход мысли правильный, но в любой ОС подобный механизм уже реализован, причем с более гибкими настройками.

      PS
      у Вас похоже syslog-ng? Так вот он даже своими встроенными средствами (если мне память не изменяет) подобные задачи решать может.




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

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