rotação de log falha para dnsmasq no osx usando newsyslog

2

Estou executando o dnsmasq no OSX.

Eu também estou usando newsyslog para girar arquivos de log. Aqui está o /etc/newsyslog.d/dnsmasq.conf

# logfilename          [owner:group]    mode count size   when  flags [/pid_file] [sig_num]
/var/log/dnsmasq.log   nobody:admin     640  5     10000  *     Z

Os registros são girados corretamente, mas quando isso acontece, uma única linha é gravada no novo arquivo de registro, mas, em seguida, todo o registro é interrompido até que eu reinicie o dnsmasq .

Nov  2 15:30:00 nexus newsyslog[1932]: logfile turned over due to size>10000K

Finalmente, aqui está meu /Library/LaunchDaemons/homebrew.mxcl.dnsmasq.plist :

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
  <dict>
    <key>Label</key>
    <string>homebrew.mxcl.dnsmasq</string>
    <key>ProgramArguments</key>
    <array>
      <string>/usr/local/opt/dnsmasq/sbin/dnsmasq</string>
      <string>--keep-in-foreground</string>
    </array>
    <key>RunAtLoad</key>
    <true/>
    <key>KeepAlive</key>
    <true/>
  </dict>
</plist>

Alguma ideia de como corrigir isso?

    
por HalosGhost 03.11.2014 / 03:41

1 resposta

1

Você precisa adicionar um pid_file e um sig_num ao dnsmasq.conf da seguinte forma:

# logfilename          [owner:group]    mode count size   when  flags [/pid_file]           [sig_num]
/var/log/dnsmasq.log   nobody:admin     640  5     10000  *     Z     /var/run/dnsmasq.pid  31

sig_num 31 é SIGUSR2 que informará ao dnsmasq para fechar e reabrir seu arquivo de log.

    
por 23.11.2014 / 22:57