Ученик (105)

Как сделать, чтобы Apache архивировал логи на VPS/VDS? А то они увеличиваются в размере...

Скоро, я чувствую, займут все оставшееся место на диске :(
Регистрируйтесь, делитесь ссылками в соцсетях, получайте на WMR кошелек 20% с каждого денежного зачисления пользователей, пришедших на проект по Вашей ссылке. Подробнее
После регистрации Вы также сможете получать до 175 руб за каждую тысячу уникальных поисковых переходов на Ваш вопрос или ответ Подробнее
ОТВЕТЫ
Знаток (425)
Если сервер типа IIS (ОС Винда) - не знаю. Рассказываю для Linux.

Запускаете по CRON специальный скрипт (назовем его cron_flush_log.sh и находится он в папке /cronscripts):


datevar = $(date +%F) #объявили переменную в формате YYYY-MM-DD
cd "/etc/httpd/logs" #перешли в папочку в логами Апача...
tar -cf "access_log_$datevar.tar" "access_log" #затарили лог в архив
gzip "access_log_$datevar.tar" #зипнули его (сжатие выше некуда!)
echo "" > "access_log" #очистили текущий лог
#удалять лог НЕЛЬЗЯ, иначе Апач прервет логирование событий - придется перезапустить
#делаем то же с логом ошибок:
tar -cf "error_log_$datevar.tar" "error_log" #затарили лог в архив
gzip "error_log_$datevar.tar" #зипнули его (сжатие выше некуда!)
echo "" > "error_log" #очистили текущий лог


Этот скрипт должен запускаться CRON-ом. Т.е. в crontab должна быть запись типа такой:


19 0 * * * sh /cronscripts/cron_flush_log.sh


Это заставит скрипт запускаться каждый день в 0 часов 19 минут.
Ученик (46)
Есть сервер типа IIC