Это старая версия документа!
Управление сервисами в т.ч. и логами в системе, происходит системой инициализации systemd.
Хранит журналы в бинарном виде. Находится выше по иерархии чем syslogd и принимает события от него в т.ч.
Задается максимальное доступное место на диске, по достижении, сообщения удаляются с конца.
Задается в параметрах SystemMaxUse= и RuntimeMaxUse= в файле /etc/systemd/journal.conf.
Раньше была доминирующей подсистемой, сейчас преобладает systemd и journald в частности.
Хранит журналы в обычных файлах, в папке /var/log, программы отправляют свои логи на псевдоустройство /dev/log, там их принимает и обрабатывает данная подсистема. Способ распределения сообщений описан в файле /etc/rsyslog.d/50-default.conf
Имеется несколько «тематических» файлов журнала: auth.log, boot.log, dmesg, dpkg.log, kern.log, syslog (сборка из всех журналов), wtmp (отслеживание сеансов пользователей).
Уровни приоритетов:
Утилита Logrotate, основная конфигурация /etc/logrotate.conf, в папке /etc/logrotate.d/ отдельные конфиги
Сама утилита запускается раз в день, в планировщике есть файл- /etc/cron.daily/logrotate
Без порядковых номеров ротация перестает работать
Поэтому часовой интервал игнорируется, для меньшего интервала нужно создать отдельный конфиг (в другом месте для того чтобы не пересекаться с ежедневным), смысл в том чтобы запускать ее через крон самостоятельно, для этого настроим задачу:
# Создали файл конфига nano /home/sammy/logrotate.conf # Запускаем вручную (-d для тестирования) logrotate /home/sammy/logrotate.conf # Добавляем в крон "15 * * * * /usr/sbin/logrotate /home/sammy/logrotate.conf"
Ротировать можно как регулярно (по времени) так и по размеру файла
Можно выполнять скрипты до и после ротации
Образец конфига:
/var/log/messages # файл для работы, можно указать маску { daily rotate 3 # хранить 3 последних файла size 10M # при условии что файл не меньше 10мб compress # сжимать delaycompress # кроме последнего и предпоследнего }
Для самостоятельного запуска, переименовываем файл после ротации. Его нужно перемещать создавать копию, без номеров ротация перестает работать
/usr/zxbcps/files/zx.tar { rotate 3 sharedscripts # Для того чтобы скрипт выполнялся один раз postrotate day=$(date +%Y-%m-%d_%H:%M) mv /usr/zxbcps/files/zx.tar.1 /usr/zxbcps/files/zzx_$day.tar endscript }
</details>