Хранение Логов И Logrotate

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
правила_разработки:стандарты:хранение_логов_и_logrotate [26.04.2019 10:46]
nikolay_carbonsoft1
правила_разработки:стандарты:хранение_логов_и_logrotate [20.05.2019 15:18] (текущий)
Строка 16: Строка 16:
  
 Например:​ Например:​
 +<code bash>
 50 2 * * * root /​app/​base/​usr/​local/​bin/​cron_backup.sh &>>/​app/​base/​var/​log/​cron_backup.sh.log 50 2 * * * root /​app/​base/​usr/​local/​bin/​cron_backup.sh &>>/​app/​base/​var/​log/​cron_backup.sh.log
 +</​code>​
  
-//Исключение:​ если скрипт генерирует излишне объемный вывод, который необходим только при детальном дебаге,​ то его можно логировать в соответствии с обычными стандартами /​var/​log/<​имя демона>​.log и обязательно должен писать о том, что он скрывает вывод (и куда скрывает) в stdout! Например,​ скрипт /​app/​asr_billing//​usr/​local/​bin/​backup_db_v2.sh выводит все в стандартный вывод, но вывод gbak сохраняет в /​var/​log/​backup_db_v2.sh.log//​+Исключение:​ если скрипт генерирует излишне объемный вывод, который необходим только при детальном дебаге,​ то его можно логировать в соответствии с обычными стандартами /​var/​log/<​имя демона>​.log и обязательно должен писать о том, что он скрывает вывод (и куда скрывает) в stdout! Например,​ скрипт /​app/​asr_billing//​usr/​local/​bin/​backup_db_v2.sh выводит все в стандартный вывод, но вывод gbak сохраняет в /​var/​log/​backup_db_v2.sh.log//​
  
 4. Особым случаем является каталог /​app/​asr_billing/​var/​log/​abonents/<​id_абонента>/​.. куда дублируется вывод лога событий в воркера по каждому абоненту. Например,​ /​app/​asr_billing/​var/​log/​abonents/​13/​event_1368.log 4. Особым случаем является каталог /​app/​asr_billing/​var/​log/​abonents/<​id_абонента>/​.. куда дублируется вывод лога событий в воркера по каждому абоненту. Например,​ /​app/​asr_billing/​var/​log/​abonents/​13/​event_1368.log
Строка 25: Строка 26:
 <font inherit/​inherit;;​rgb(255,​ 0, 0);;​inherit>​**Другие особые случаи этого пункта и другие исключения нужно согласовывать и отражать в текущей странице документации.**</​font>​ <font inherit/​inherit;;​rgb(255,​ 0, 0);;​inherit>​**Другие особые случаи этого пункта и другие исключения нужно согласовывать и отражать в текущей странице документации.**</​font>​
  
-==== Стандарт по logrotate до 2018 года (потом добавим чистку которую ​НАстраивает Админ 3-6-12 мес): ====+==== Стандарт по logrotate до 2018 года (потом добавим чистку которую ​настраивает Админ 3-6-12 мес): ====
  
 1. Сдвигаем компрессию на 2 месяца,​ используя опции compress и delaycompress*. При ротейте по дням компрессию не используем*! 1. Сдвигаем компрессию на 2 месяца,​ используя опции compress и delaycompress*. При ротейте по дням компрессию не используем*!
  
-2. Опцию **rotate не используем**. Старые логи не удаляются автоматически+2. Старые логи нельзя ​удалять автоматически ​средствами logrotate! Выставляем опцию rotate 99999.
  
 3. где по дням - не гзипуем 3. где по дням - не гзипуем
  
 4. для ежемесячных,​ формат суффикса без дня: dateformat -%Y%m 4. для ежемесячных,​ формат суффикса без дня: dateformat -%Y%m
 +
 +5. можно пользоваться только ежедневным и ежемесячным ротированием
  
 === Пример1. Ежемесячный logrotate: === === Пример1. Ежемесячный logrotate: ===
  
-<code-java>+<​code>​
 /​var/​log/​firebird/​firebird.log { /​var/​log/​firebird/​firebird.log {
     monthly     monthly
Строка 46: Строка 49:
     delaycompress     delaycompress
     copytruncate     copytruncate
 +    rotate 99999
 } }
  
-</code-java>+</​code>​
  
 === Пример2. Ежедневный logrotate: === === Пример2. Ежедневный logrotate: ===
  
-<code-java>+<​code>​
 /​var/​log/​msgd/​msgd.log { /​var/​log/​msgd/​msgd.log {
         daily         daily
Строка 61: Строка 65:
         ### ОБЯЗАТЕЛЬНО ИСПОЛЬЗОВАТЬ nocompress ДЛЯ ЕЖЕДНЕВНОГО logrotate         ### ОБЯЗАТЕЛЬНО ИСПОЛЬЗОВАТЬ nocompress ДЛЯ ЕЖЕДНЕВНОГО logrotate
         nocompress         nocompress
 +        rotate 99999
 } }
  
-</code-java>+</​code>​
  
 ==== Примечания:​ ==== ==== Примечания:​ ====
Строка 79: Строка 84:
 Sync для файлов выключен по умолчанию,​ минусы перед файлами в конфиге указывать не нужно Sync для файлов выключен по умолчанию,​ минусы перед файлами в конфиге указывать не нужно
  
-<code-java>+<​code>​
 # File syncing capability is disabled by default. This feature is usually not required, # File syncing capability is disabled by default. This feature is usually not required,
 # not useful and an extreme performance hit # not useful and an extreme performance hit
 #​$ActionFileEnableSync on #​$ActionFileEnableSync on
  
-</code-java>+</​code>​
  
 ~~OWNERAPPROVE~~ /*Не удаляйте эту строку и ниже!*/ ~~OWNERAPPROVE~~ /*Не удаляйте эту строку и ниже!*/