Логи transmission
Для скачивания торрентов использую замечательную программу Transmission. Программу запускаю в режиме демона (transmission-daemon), а управление закачками осуществляю браузером через веб-интерфейс. Программа имеет множество настроек, но настройки журнализации отсутствуют – вывод в журналы через syslog.
В результате отдельный лог трансмиссии (который, пожалуй, нужен только во время первоначальной настройки) отсутствует, а в /var/log/messages.log и /var/log/daemon.log куча левых сообщений от transmission-daemon из-за чего ценную и полезную информацию в логах трудно заметить.
Исправим это недоразумение.
Вывод сообщений в отдельный журнал
Для этого изменим настройки нашего syslog-ng. Добавим следующие строки
#transmission-daemon configuration
destination transmission { file("/var/log/transmission.log"); };
filter f_transmission { program(transmission-daemon); };
log { source(src); filter(f_transmission); destination(transmission); };
в конфигурационный файл /etc/syslog-ng/syslog-ng.conf и перечитаем конфигурацию
systemctl reload syslog-ng
Теперь журнал трансмиссии в отдельном файле.
Запрет вывода в messages.log и daemon.log
Но сообщения от transmission-daemon по-прежнему попадают в messages.log и daemon.log. Сейчас исправим и это!
Откроем /etc/syslog-ng/syslog-ng.conf и заменим строку
filter f_daemon { facility(daemon); };
на
filter f_daemon { facility(daemon) and not program(transmission-daemon); };
Это был запрет для вывода сообщений transmission-daemon в daemon.log. А для messages.log там же меняем
filter f_messages { level(info..warn) and not facility(auth, authpriv, mail, news, cron) and not program(syslog-ng) and not filter(f_iptables); };
на
filter f_messages { level(info..warn) and not facility(auth, authpriv, mail, news, cron) and not program(syslog-ng) and not program(transmission-daemon) and not filter(f_iptables); };
Перечитаем конфигурацию
systemctl reload syslog-ng
Ротация логов transmission-daemon
Отдельный лог сделали, вывод в messages.log и daemon.log запретили. Теперь осталось настроить ротацию логов трансмиссии.
В директории /etc/logrotate.d создаем файл transmission такого содержания
/var/log/transmission.log {
daily
missingok
rotate 3
compress
notifempty
delaycompress
}
Журнал будет ежедневно ротироваться и храниться за 3 последних дня. Хотя вместо ротирования можно просто переместить журнал в /tmp где он будет автоматически удаляться при выключение компьютера (при условии что у вас /tmp на tmpfs и вы иногда выключаете компьютер).
(#) Дмитрий:
Спасибо за пост, но не проще ли в:
# nano /etc/default/transmission-daemon строку:
OPTIONS=”—config-dir $CONFIG_DIR”
привести к вот такому виду:
OPTIONS=”—config-dir $CONFIG_DIR —logfile /var/log/transmission-daemon.log”
и конечно не забыть:
# chown debian-transmission /var/log/transmission-daemon.log
Что по моему намного проще…
P.S: Путь к конфигурационному файлу старта демона соответствует Debian 7.8