Neonode.cc - Mind space blog
open main menu
Part of series: caddy

Ротация логов в Caddy

/ 2 min read

Ротация логов в Caddy

Ротация логов — это процесс автоматического архивирования и удаления старых логов для предотвращения переполнения дискового пространства. В случае Caddy можно настроить ротацию логов с помощью сторонних инструментов, таких как logrotate, который широко используется для ротации логов в Linux.

Настройка ротации логов с помощью logrotate

1. Установка logrotate (если он еще не установлен)

sudo apt install logrotate

2. Создание конфигурации для Caddy

Откройте или создайте файл конфигурации для Caddy в /etc/logrotate.d/caddy:

sudo nano /etc/logrotate.d/caddy

3. Пример конфигурации для ротации логов Caddy

Вставьте в файл следующую конфигурацию:

/var/log/caddy/*.log {
daily
missingok
rotate 14
compress
delaycompress
notifempty
create 0640 root root  
postrotate
    systemctl reload caddy
endscript
}

Если у вас используется другой пользователь, не root, то замените на него.

Пояснение настроек

  • daily: Логи будут ротироваться каждый день. Можно заменить на weekly для еженедельной ротации.
  • rotate 14: Хранить до 14 архивов логов.
  • compress: Сжимать архивы для экономии места.
  • delaycompress: Откладывать сжатие логов до следующей ротации.
  • notifempty: Не ротация, если файл логов пустой.
  • create 0640 root root: Создавать новый файл с правами 0640 и владельцем root.
  • postrotate: После ротации перезапустить службу Caddy, чтобы она начала писать в новый файл.

Проверка работы logrotate

Вы можете проверить правильность конфигурации logrotate с помощью команды:

sudo logrotate -d /etc/logrotate.d/caddy

Эта команда выполняет тест и показывает, как будет проходить ротация, но не вносит изменений.

Запуск logrotate вручную для проверки

Чтобы вручную запустить ротацию и убедиться, что все работает правильно, выполните:

sudo logrotate -f /etc/logrotate.d/caddy

После этих шагов logrotate будет автоматически ротировать логи Caddy согласно заданным настройкам.