メモ」カテゴリーアーカイブ

Debian13のvarnishncsaがlogrotate時にkillされる

タイトル通り。


 # systemctl enable varnishcsa
 # systemctl start varnishcsa 

で、起動していたvarnishncsaがlogrotate時、デフォルトの/etc/cron.daily/logrotate実行時にkillされてしまう。

原因はDebian13ではvarnishncsaがdaemonで起動していないこと。systemctlで使用している/usr/lib/systemd/system/varnishncsa.service を書き換えるとよい。

[Unit]
Description=Varnish HTTP accelerator log daemon
Documentation=https://www.varnish-cache.org/docs/ man:varnishncsa
After=varnish.service

[Service]
Type=forking
PIDFile=/run/varnishncsa/varnishncsa.pid
RuntimeDirectory=varnishncsa
User=varnishlog
Group=varnish
ExecStart=/usr/bin/varnishncsa -a -w /var/log/varnish/varnishncsa.log -D -P /run/varnishncsa/varnishncsa.pid
ExecReload=/bin/kill -HUP $MAINPID
Restart=on-failure
LogsDirectory=varnish
LogsDirectoryMode=0750
PrivateDevices=true
PrivateTmp=true
ProtectHome=true
ProtectSystem=full

[Install]
WantedBy=multi-user.target

このファイル、たしかDebian11はdaemonで起動するだったのだがDebian13ではなぜかType=execで”-D -P /run/varnishncsa/varnishncsa.pid”オプションがなくなっている。なぜなんだろう? 意図がわからない。