0

我在使用以下 logrotate 和 icecast access.log 时遇到以下问题:

  • 文件 access.log 随机停留在 0ko 并且不记录任何内容
  • 存档文件 access.log-20120601.gz 为空

这是我的 /etc/logrotate.d/icecast

/home/log/icecast/access.log{
# Les logs sont compréssé avant rotation
compress
# Fréquence de rotation par défaut :
monthly
# Par défaut, une rotation par jour est effectuée. 365,25 Jours par ans, nous concervons     donc
# une profondeur de 366 jours.
rotate 366
# En parallèle, si une archive est agée de plus de 366 jours, elle est détruite :
maxage 366
# Insertion de la date dans l'archivage des journaux.
dateext
# Lors d'une rotation, un fichier de remplacement est créé avec les droits 0640      appartenant 
# root et au groupe root.
create 777 root root
# Toutes les archives sont stockées dans /var/log/icecast.
olddir /var/log/icecast

}
4

1 回答 1

1

我不知道你是否已经解决了这个问题,但是查看我的 Icecast 2 的 logrotate 文件(由 Icecast 自己安装),唯一有意义的区别似乎是这些行:

postrotate
    if pgrep icecast2 >/dev/null; then
        invoke-rc.d --quiet icecast2 reload > /dev/null
    fi
endscript

它向Icecast 进程发送SIGHUP信号。

查看Icecast Documentation,有一段解释说:

请注意,在非 win32 平台上,可以向 icecast 发送 HUP 信号,在该信号中重新打开日志文件以添加移动/删除日志文件的能力。

于 2012-12-02T15:05:11.107 回答