Я работаю на сервере, который использует правила разбиения PCI Compliant, что означает, что у каждого из следующих каталогов есть свой собственный раздел: /, /var, /boot, /usr, /tmp и /home. В настоящий момент сервер обслуживает веб-сайт с бэкэндом Apache / MySQL.
Я получил предупреждение о том, что разделу /var (размер которого составляет 2 ГБ) не хватает места. Я проверил, и журнал доступа Apache, расположенный по адресу /var/log/access.log, генерировал нелепое количество текста: примерно 1 ГБ за 10 дней без настройки ротации журнала.
Я перенастроил настройку Apache, чтобы поместить журналы в другой раздел с большим пространством, и я настроил вращение журналов со сжатием gzip.
Вот странная часть. Старый журнал доступа Apache находился по адресу /var/log/access.log и содержал около 920 МБ несжатого файла. Раздел /var был заполнен примерно на 80%, поэтому он занимал 1,6 ГБ из общего объема 2,0 ГБ.
Я запустил следующую команду, чтобы сжать файл журнала:
cd /var/log && gzip -9 access.log > access-2011-12-19.log.gz
Теперь я понимаю, что немного устарел с использованием gzip, потому что он создал два файла: access-2011-12-19.log.gz, который был пуст, и access.log.gz, который теперь составлял 68 МБ и содержал оригинальный файл журнала 920 МБ. Я удалил файл access-2011-12-19.log.gz, и старый файл журнала теперь исчез.
Проблема: я тогда проверил пространство в разделе /var, и, к моему замешательству, теперь читаю как полный 78%, или около 1,4 ГБ.
Кажется, что сжатие файла журнала 920 МБ до 68 МБ должно сэкономить много места на диске, но, похоже, этого не произошло. В чем может быть проблема? На сервере работает CentOS 6, если это поможет.