ротация логов (логи на чёрный день) - Форум администраторов игровых серверов
Форум администраторов игровых серверов StormWall - Защита от DDos атак
Регистрация Мнения Справка Пользователи Календарь Все разделы прочитаны
Вернуться   Форум администраторов игровых серверов > MMO > Другие игры / Other games > Perfect World > Документация

Документация Различные статьи и мануалы по установке, настройке и редактированию серверной и клиентской части игры Perfect World.
Описание темы:базовая настройка logrotate

Ответ
Опции темы
Непрочитано 30.08.2013, 09:39   #1
Пользователь

Автор темы (Топик Стартер) ротация логов (логи на чёрный день)

Может кому пригодится...

Начнём с того, что же такое "ротация" логов.
Для примера можно посмотреть на логи апач сервера (/var/log/apache2) - при достижениия определённого размера или времени (например по прошествии одного месяца), текущий лог-файл запаковывается, переименовывается и создаётся новый пустой лог-файл.
Делается это в основном для удобства чтения логов - ведь куда удобнее, когда на каждый месяц\день лежит свой лог, и не приходится искать дату в одной большой свалке. Ну и немножко для экономии места - текстовые логи очень неплохо ужимаются.

Итак. Первое, что приходит по этому поводу в голову - можно написать простенький скрипт, который проверял бы дату создания файла, его размер и т.п. и повесить его на крон. Но, в убунте для ротации логов предусмотрена замечательная программка - logrotate, заморочек с ней гораздо меньше так что именно её и будем использовать.

Для начала установим её (хотя зачастую она уже установлена):
Код:
sudo apt-get update
sudo apt-get install logrotate
Настройки logrotate лежат в двух местах:
Код:
/etc/logrotate.conf
тут определяются настройки для приложений по умолчанию. А в папке
Код:
/etc/logrotate.d/
лежат настройки для каждого приложения отдельно.

Первый файл, с дефолтными настройками, можно не трогать. Нас интересуют файлы настроек для приложений.
Создадим новый файл для сервера, например назовём его pw_logs и отредактируем его:
Код:
sudo touch /etc/logrotate.d/pw_logs
sudo nano /etc/logrotate.d/pw_logs
(тут надо заметить, что можно сразу открыть файл на редактирование и при сохранении система его создаст, но мне так привычней )
Теперь нужно вписать в него собственно настройки. Первой строкой пишем путь к логам
Код:
/pwserver/logs/*
Звёздочка в конце указывает, что ротация будет вестись независимо от расширения файла. Сами настройки указываются в блоке фигурных скобок, т.е. файл должен выглядеть примерно так:
Код:
/pwserver/logs/* {
        monthly
        size 10M
        rotate 10
        compress
        missingok
        notifempty
        create 644 root root
}
Сначала у меня указано время ротации - monthly, т.е. в начале каждого месяца логи будут упакованы.

Далее размер - size 10M (10 Мб), выбрал 10, потому что логи чаще приходится смотреть через фтп, а ждать пока скачается 100 метров ненужного лога долго =) Опция думаю понятна - при достижении логом размера в 10Мб производится ротация.

compress - указывает на то, что логи надо архивировать, а не просто переименовывать.

rotate 10 - количество сохраняемых логов, в данном примере старые логи будут упаковываться, пока их количество не станет 10, тогда самый старый лог удалится.

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

notifempty - флаг, говорящий о том, что пустые файлы паковать не надо =)

create 644 root root - права, пользователь и группа, с которыми создаются новые логи, лучше всего посмотреть с какими правами у вас создаются логи сейчас и поставить такие же тут (разумеется поставьте свой путь до логов)
Код:
ls -la /pwserver/logs
С настройкой закончили, можно конечно добавить ещё кучу всего, но этого вполне достаточно (подробнее можно почитать например здесь)

Теперь можно запустить logrotate
Код:
sudo logrotate /etc/logrotate.conf
и посмотреть что стало с логами (если были те, которые удовлетворяют условиям)

По умолчанию logrotate запускается ежедневным кроном (/etc/cron.daily), но при желании можно сделать запуск и в другое время, для этого нужно просто добавить "logrotate /etc/logrotate.conf" в крон.

Кажется всё
asura013 вне форума Отправить сообщение для asura013 с помощью ICQ Отправить сообщение для asura013 с помощью Skype™ Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
itamename-e.dat UFODriverr Lineage II 5 28.02.2021 18:17
Рассказ "Последний день жизни" sw.Devil Курилка / Yak floor 1 20.12.2008 05:16


© 2007–2022 «Форум администраторов игровых серверов»
Защита сайта от DDoS атак — StormWall
Работает на Булке неизвестной версии с переводом от zCarot
Текущее время: 11:51. Часовой пояс GMT +3.

Вверх