Tar библиотека для С++ приложения под Win
От: Georgy Kazakov Интернет http://www.mrgroot.com
Дата: 31.08.06 09:59
Оценка:
Здравствуйте.

Подскажите, есть ли такое в природе?
Именно библиотеку для встраивания найти не удалось.
Были только самодостаточние приложения.

Ситуация такая:
есть программа, которая больно много флудит в логи.
Было принято решение сжимать логи в определенное время.

В качестве метода сжатия, была выбрана библиотека zlib,
при помощи которой происходит сжатие файла в gzip формат.

Но проблема в том, что gzip может сжать лишь один файл.
Поэтому необходима библиотека, которая могла бы заархивировать
некоторое количество лог-файлов, для последующего сжатия этого архива в gzip.

Заранее благодарен.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re: Tar библиотека для С++ приложения под Win
От: eao197 Беларусь http://eao197.blogspot.com
Дата: 31.08.06 10:05
Оценка: +1
Здравствуйте, Georgy Kazakov, Вы писали:

GK>Были только самодостаточние приложения.


И это хорошо.
Чем заниматься встраиванием в приложение такого функционала, лучше через system запускать внешний tar/gzip/bzip2/rar/7-zip и пр.

А еще лучше, вообще не нагружать приложение задачей архивации логов, а поручить это внешнему скрипту, который сам будет отыскивать подлежащие архивации файлы и паковать их в нужный формат. Создание такого скрипта на Ruby/Python/Perl отнимет день/два с полным тестированием. Зато затем модифицировать эти скрипты и подгонять их под новые условия будет гораздо проще.

Так что не ищите подобную библиотеку, есть более простые способы решения вышей проблемы.


SObjectizer: <микро>Агентно-ориентированное программирование на C++.
Re[2]: Tar библиотека для С++ приложения под Win
От: Georgy Kazakov Интернет http://www.mrgroot.com
Дата: 31.08.06 10:20
Оценка:
Здравствуйте, eao197, Вы писали:

E>Чем заниматься встраиванием в приложение такого функционала, лучше через system запускать внешний tar/gzip/bzip2/rar/7-zip и пр.


E>А еще лучше, вообще не нагружать приложение задачей архивации логов, а поручить это внешнему скрипту, который сам будет отыскивать подлежащие архивации файлы и паковать их в нужный формат. Создание такого скрипта на Ruby/Python/Perl отнимет день/два с полным тестированием. Зато затем модифицировать эти скрипты и подгонять их под новые условия будет гораздо проще.


E>Так что не ищите подобную библиотеку, есть более простые способы решения вышей проблемы.


Есть веские причины, почему мне не разрешается использовать system и тем более скрипты.
И причины эти, к сожалению, корпоративная тайна

Поэтому прошу подсказать именно по вопросу, который я задал,
а не давать советы типа "не юзай это <censored>! а юзай это <censored>!"
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[3]: Tar библиотека для С++ приложения под Win
От: eao197 Беларусь http://eao197.blogspot.com
Дата: 31.08.06 10:26
Оценка:
Здравствуйте, Georgy Kazakov, Вы писали:

GK>Есть веские причины, почему мне не разрешается использовать system и тем более скрипты.

GK>И причины эти, к сожалению, корпоративная тайна

Попробуйте переубедить. Серьезно. Я ведь прошел через это: сначала архивация была встроена в приложение, потом было обнаружено несколько очень серьезных проблем с таким подходом, перешли на скрипты, затем несколько раз скрипты модифицировались. Решение на скриптах по многим параметрам выгоднее.

GK>Поэтому прошу подсказать именно по вопросу, который я задал,

GK>а не давать советы типа "не юзай это <censored>! а юзай это <censored>!"


Тогда так: лично я подобных библиотек не знаю, но:
* сами утилиты вроде tar доступны в исходниках;
* ряд библиотек архивации (вроде zip) доступны в исходниках;
* архиватор 7-zip доступен в исходниках.

Так что выбирайте то, что подходит по лицензии.


SObjectizer: <микро>Агентно-ориентированное программирование на C++.
Re[4]: Tar библиотека для С++ приложения под Win
От: Georgy Kazakov Интернет http://www.mrgroot.com
Дата: 31.08.06 10:37
Оценка:
Здравствуйте, eao197, Вы писали:

E>Попробуйте переубедить. Серьезно. Я ведь прошел через это: сначала архивация была встроена в приложение, потом было обнаружено несколько очень серьезных проблем с таким подходом, перешли на скрипты, затем несколько раз скрипты модифицировались. Решение на скриптах по многим параметрам выгоднее.


Приложение у нас и так нагруженно постоянной обработкой данных, причем порядка 4000Гб в день.
Причем на одной системе, таких приложений может быть запущенно около 10 штук.
Вызов system для выполнение нового приложения будет тормозить систему еще больше.
Поэтому было принято решение подключать к программе библиотеки.

А как скрпты в данном случае будут работать?
Можно поподробнее?

E>

E>Тогда так: лично я подобных библиотек не знаю, но:
E>* сами утилиты вроде tar доступны в исходниках;
E>* ряд библиотек архивации (вроде zip) доступны в исходниках;
E>* архиватор 7-zip доступен в исходниках.

E>Так что выбирайте то, что подходит по лицензии.


tar в исходниках доступен только для никсовых систем.
На портирование его под Win и как библиотеку уйдет много времени,
а значит большие потери для фирмы.
zip, rar и прочие архиваторы стоят денег.
Фирма за покупку лицензий платить не будет.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[5]: Tar библиотека для С++ приложения под Win
От: eao197 Беларусь http://eao197.blogspot.com
Дата: 31.08.06 10:48
Оценка:
Здравствуйте, Georgy Kazakov, Вы писали:

GK>Приложение у нас и так нагруженно постоянной обработкой данных, причем порядка 4000Гб в день.

GK>Причем на одной системе, таких приложений может быть запущенно около 10 штук.
GK>Вызов system для выполнение нового приложения будет тормозить систему еще больше.
GK>Поэтому было принято решение подключать к программе библиотеки.

GK>А как скрпты в данном случае будут работать?

GK>Можно поподробнее?

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

Вызов внешнего приложения удобен тем, что для него просто выставить низкий приоритет. Самый простой способ:
start /low something

Когда это запускается из скипта, это еще проще -- для смены параметров запуска не нужно перекомпилировать приложения, ведь скрипты всегда в исходниках.

Так же оказалось, что удобнее иметь один архивирующий скрипт на сервер, который сам отыскивает логи, чем настраивать архивацию для каждого приложения. Здесь же появляется дополнительная гибкость -- легко настраивать, сколько логов может архивировать в одном каталоге за раз, сколько всего за один запуск скрипта, логи каких размеров могут быть проигнорированы, логи каких размеров нельзя архивировать в дневное время (в часы наибольшей загрузки системы) и т.д.

GK>tar в исходниках доступен только для никсовых систем.

GK>На портирование его под Win и как библиотеку уйдет много времени,
GK>а значит большие потери для фирмы.

Вроде как есть уже портированные: http://unxutils.sourceforge.net/ (исходники доступны в CVS).

GK>zip, rar и прочие архиваторы стоят денег.

GK>Фирма за покупку лицензий платить не будет.

А 7-zip? Разве он платный?

7-Zip is free software distributed under the GNU LGPL.

т.е. его даже в закрытый софт можно встраивать.


SObjectizer: <микро>Агентно-ориентированное программирование на C++.
Re: Tar библиотека для С++ приложения под Win
От: lazyden  
Дата: 01.09.06 09:26
Оценка:
Здравствуйте, Georgy Kazakov, Вы писали:

GK>Здравствуйте.


GK>Подскажите, есть ли такое в природе?

GK>Именно библиотеку для встраивания найти не удалось.
GK>Были только самодостаточние приложения.

Есть libarchive, правда для *nix и на С . Лицензия — BSD. Цытата с сайта:

Libarchive is a programming library that can create and read several different streaming archive formats, including most popular tar variants and several cpio formats.

На этом сайте лежыт какой-то порт для win.
Re: Tar библиотека для С++ приложения под Win
От: apple-antonovka  
Дата: 01.09.06 20:09
Оценка:
http://www.google.ru/search?hl=ru&amp;q=tarlib+c%2B%2B&amp;lr=
Не катит?
Re: Tar библиотека для С++ приложения под Win
От: GSD  
Дата: 04.09.06 10:26
Оценка:
Здравствуйте, Georgy Kazakov, Вы писали:

GK>Здравствуйте.


GK>Подскажите, есть ли такое в природе?

GK>Именно библиотеку для встраивания найти не удалось.
GK>Были только самодостаточние приложения.

GK>Ситуация такая:

GK>есть программа, которая больно много флудит в логи.
GK>Было принято решение сжимать логи в определенное время.

GK>В качестве метода сжатия, была выбрана библиотека zlib,

GK>при помощи которой происходит сжатие файла в gzip формат.

GK>Но проблема в том, что gzip может сжать лишь один файл.

GK>Поэтому необходима библиотека, которая могла бы заархивировать
GK>некоторое количество лог-файлов, для последующего сжатия этого архива в gzip.

GK>Заранее благодарен.


Есть библиотека ZipArchive. И много файлов пакует и gzip и еще на тома разрежет.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.