Как очистить журналы ротации apache в /wslogs на экземплярах http-сервера

У нас есть следующее в наших файлах httpd.conf:

ErrorLog "| /usr/HTTPServer/bin/rotatelogs /wslogs/instance_name/hostname_%m%d%Y_error.log 86400"

CustomLog "| /usr/HTTPServer/bin/rotatelogs /wslogs/instance_name/hostname_%m%d%Y_access.log 86400" вместе

Это записывает передаваемые журналы в /wslogs/имя_экземпляра, используя формат, описанный выше.

Мы видим, что эти файлы журналов очень быстро занимают много места в каталоге /wslogs, и мы не знаем об этом. И затем, когда мы делаем наши развертывания, у которых также есть шаг для перезапуска сервера, сервер не перезагружается с ошибкой: - httpd (без файла pid) не работает Ошибка записи в файл /wslogs/имя_экземпляра/имя_сервера_12022016_error.log

Затем нам нужно вручную очистить папку wslogs. Есть ли способ автоматически справиться с этим и убедиться, что эти журналы существуют только за последние 10 дней, или, другими словами, способ удалить журналы старше 10 дней.

Любые предложения/решения здесь будут очень признательны.


person Ashley    schedule 03.12.2016    source источник
comment
и ваша ошибка запуска, вероятно, связана с тем, что вы удаляете каталог instance_name, а не только его содержимое.   -  person covener    schedule 04.12.2016


Ответы (1)


Вы не можете управлять историческими файлами с помощью самого http-сервера. Вам нужно использовать что-то внешнее, например, logrotate или ваши собственные скрипты cron.

person covener    schedule 03.12.2016