Муравей или NAnt для выполнения некоторых операций с простым способом проверить, если выполнения задач хорошо или нет, параллелизируйте и так далее.
gzip страница справочника должна иметь то, что Вы хотите, но Вы можете concatate их непосредственно:
cat file1.gz >> file2.gz
gzip -c file1 >> file2.gz
Сжатие не так хорошо, как будто это был всего один сжатый файл, но можно восстановиться с:
zcat old.gz | gzip > new.gz
Просто смолите gzipped файлы вместе. Это - эффективно связывание и сохраняет их сгруппированными логически вместе. Различие в размере файла между выполнением этого и распаковывает/повторно сжимает их, вместе является фактически нулевым.
Как в, с нетривиальными файлами журнала, файлы журнала tar'ing 24 gzipped вместе произведут файл, фактически идентичный в размере в единственный gzipped архив всех 24 исходных файлов.
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 могла быть проблемой.
gzip не заботится. Можно связать gzipped файлы, и это будет точно, как будто Вы связали их и затем gzipped их.
$ echo foo |gzip >/tmp/log.gz
$ echo bar |gzip >>/tmp/log.gz
$ zcat /tmp/log.gz
foo
bar