Конкатенация gziped журналы Apache

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

1
задан 19 August 2009 в 11:25
4 ответа

gzip страница справочника должна иметь то, что Вы хотите, но Вы можете concatate их непосредственно:

cat file1.gz >> file2.gz
gzip -c file1 >> file2.gz

Сжатие не так хорошо, как будто это был всего один сжатый файл, но можно восстановиться с:

zcat old.gz | gzip > new.gz
7
ответ дан 3 December 2019 в 16:32
  • 1
    Понятное дело! Как я пропускал это?Спасибо. –  markdrayton 19 August 2009 в 13:31

Просто смолите gzipped файлы вместе. Это - эффективно связывание и сохраняет их сгруппированными логически вместе. Различие в размере файла между выполнением этого и распаковывает/повторно сжимает их, вместе является фактически нулевым.

Как в, с нетривиальными файлами журнала, файлы журнала tar'ing 24 gzipped вместе произведут файл, фактически идентичный в размере в единственный gzipped архив всех 24 исходных файлов.

0
ответ дан 3 December 2019 в 16:32
  • 1
    Спасибо, но нам нужна ежедневная газета gziped журнал, не tarball 24 журналов. Это должен быть один непрерывный файл. –  markdrayton 19 August 2009 в 13:30

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

Вы могли, например, записать сценарий оболочки, который просто gzips все это get's на stdin в файл Вы указываете как аргумент:

#!/bin/sh
gzip -c >> $1

Это - вероятно, не хорошая идея объединить это с rotatelogs, так как это могло бы повредить архив, но можно относительно легко эмулировать его поведение.

Затем Вы настраиваете Apache как так:

Customlog "|/usr/local/bin/gzip_log.sh /var/log/apache/access.log" combined

Протестируйте это! Буферизация gzip могла быть проблемой.

0
ответ дан 3 December 2019 в 16:32
  • 1
    Да, я думал об этом, но I' m немного подозрительной передачи по каналу в gzip - я волную what' d происходят, если Apache должен был умереть, или некоторая другая проблема произошла, это означало gzip didn' t закрываются чисто. Поврежденные журналы wouldn' t управление. –  markdrayton 19 August 2009 в 13:29
  • 2
    Ну, Вы хотели альтернативы ;) –   20 August 2009 в 01:40

gzip не заботится. Можно связать gzipped файлы, и это будет точно, как будто Вы связали их и затем gzipped их.

$ echo foo |gzip >/tmp/log.gz
$ echo bar |gzip >>/tmp/log.gz
$ zcat /tmp/log.gz
foo
bar
1
ответ дан 3 December 2019 в 16:32

Теги

Похожие вопросы