UBUNTU: настройка ротации логов
В Ubuntu за ротацию логов отвечает утилита logrotate. Обычно она уже установлена в «базе».
Для настройки используется каталог /etc/logrotate.d В этой папке необходимо добавить файл вида:
/home/user/ocpp_servers/*.log {
weekly
missingok
rotate 90
compress
delaycompress
notifempty
create 755 root adm
sharedscripts
}
Собственно просто указываем файлы которые нуждаются в «ротации», и внутри скобок — что делать с ними.
- rotate — указывает сколько старых логов нужно хранить, в параметрах передается количество;
- create — указывает, что необходимо создать пустой лог файл после перемещения старого;
- dateext — добавляет дату ротации перед заголовком старого лога;
- compress — указывает, что лог необходимо сжимать;
- delaycompress — не сжимать последний и предпоследний журнал;
- extension — сохранять оригинальный лог файл после ротации, если у него указанное расширение;
- mail — отправлять Email после завершения ротации;
- maxage — выполнять ротацию журналов, если они старше, чем указано;
- missingok — не выдавать ошибки, если лог файла не существует;
- olddir — перемещать старые логи в отдельную папку;
- postrotate/endscript — выполнить произвольные команды после ротации;
- start — номер, с которого будет начата нумерация старых логов;
- size — размер лога, когда он будет перемещен;
- hourly — каждый час;
- daily — каждый день;
- weekly — каждую неделю;
- monthly — каждый месяц;
- yearly — каждый год.
Тестирование получившейся конфигурации:
logrotate -d /etc/logrotate.d/ocpp