Совет относительно апачских файлов журнала

rm -f /bin

вместо

комната-f./мусорное ведро

как корень (конечно), в старой системе FreeBSD. К счастью все команды в/usr/local/bin и/usr/bin, удовлетворенном, чтобы скопировать двоичные файлы с установки CD / мусорное ведро и не полить из шланга систему.

1
задан 21 April 2012 в 22:21
2 ответа

Logrotate определенно лучший способ. Поскольку размер журналов увеличивается, вы можете использовать logrotate для значительного сжатия журналов. Предполагая, что вы используете apache, измените следующее

vi /etc/logrotate.d/httpd

. Вы захотите, чтобы он выглядел примерно так:

"/var/log/httpd/site1/*.log" "/var/log/httpd/site2/*.log" {
weekly
rotate 7
compress
missingok
notifempty
sharedscripts
postrotate
/sbin/service httpd reload > /dev/null 2>/dev/null || true
endscript
}
  • Еженедельно : файлы журнала меняются, если текущий день недели меньше дня недели последней ротации или если с последней ротации прошло больше недели.
  • Ротация 7 : файлы журналов ротации 52 раза перед удалением или отправкой по адресу, указанному в почтовой директиве. Если счетчик равен 0, старые версии удаляются, а не вращаются.
  • Сжать : старые версии файлов журнала сжимаются с помощью gzip для экономии места на диске.
  • Missingok : если файл журнала отсутствует, перейти к следующему, не выводя сообщения об ошибке.
  • Notifempty : не чередовать журнал, если он пуст
  • Sharedscripts : Обычно сценарии prerotate и postrotate запускаются для каждого журнала, который вращается, что означает, что один сценарий может выполняться несколько раз для записей файла журнала, которые соответствуют нескольким файлам. Если указан sharedscript, сценарии запускаются только один раз, независимо от того, сколько журналов соответствует шаблону с подстановочными знаками. Однако, если ни один из журналов в шаблоне не требует ротации, скрипты вообще не будут выполняться.
  • Postrotate независимо от того, сколько журналов соответствует шаблону с подстановочными знаками. Однако, если ни один из журналов в шаблоне не требует ротации, скрипты вообще не будут выполняться.
  • Postrotate независимо от того, сколько журналов соответствует шаблону с подстановочными знаками. Однако, если ни один из журналов в шаблоне не требует ротации, скрипты вообще не будут выполняться.
  • Postrotate / sbin / service httpd reload> / dev / null 2> / dev / null || true
  • Endscript : Строки между postrotate и endcript (обе должны появиться в строках сами по себе) выполняются после поворота файла журнала. Эти директивы могут появляться только внутри определения файла журнала.

РЕДАКТИРОВАТЬ: Как упомянул Лукас: Еще одна вещь, которую вы можете захотеть проверить, - это почему ваши журналы заполняются . Это может указать вам на плохой код или, возможно, кто-то пытается сделать что-то вредоносное, например, через формы и т. Д.

Если вам нужна дополнительная информация о параметрах, просто используйте

man logrotate

2
ответ дан 3 December 2019 в 19:12

Я бы действительно использовал logrotate, ваши 300 МБ после сжатия превратятся в 8 МБ. Вы также можете создать сценарий для резервного копирования сжатых журналов на удаленный сервер (или какой-либо другой резервный диск) время от времени, а затем удалить эти журналы.

Если сайты не критичны, вы можете удалить журналы через некоторое время (вам решать, когда вы считаете, что они больше не нужны).

Еще одна вещь, которую вы можете захотеть проверить, - это почему ваши журналы заполняются. В вашем коде могут быть некоторые предупреждения, которые легко исправить, или просто ненужная отладочная информация.

1
ответ дан 3 December 2019 в 19:12

Теги

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