Desabilitando o syslogd no FreeBSD

3

Estou executando o FreeBSD em uma VM muito pequena com cerca de 1,5G de espaço. Eu gostaria de desativar syslogd para economizar espaço em disco, mas não há entrada para ele em /etc/rc.conf. service -e mostra que syslogd está de fato em execução. Como faço para desabilitar / desinstalar?

Lily Hahn
fonte

Respostas:

2

Pare o daemon:

/etc/rc.d/syslogd stop

Anexar uma linha ao /etc/rc.conf:

syslogd_enable="NO"
Igor Hatarist
fonte
2

Anexar uma linha ao /etc/rc.conf:

syslogd_enable = "NÃO"

Pare o daemon:

/etc/rc.d/syslogd stop

No entanto, eu não recomendaria parar o syslogd. Eu recomendo, em vez disso, editar o tamanho e a frequência de sua rotação de log editando /etc/newsyslog.conf arquivo de configuração. É muito modificável. Você pode comentar os serviços que não deseja seguir com um # na frente da linha ou modifique o:

  • count para o número máximo de arquivos de arquivos
  • size para o tamanho de cada arquivo
  • when para quando você quiser girar

Há um monte de opções que eu acho que poderiam se encaixar na sua situação. Por exemplo, se você quiser manter apenas um tamanho máximo de kb para seus registros, poderá fazer isso. Certamente você poderia poupar alguns kb para logs: -P Leia o man newsyslog.conf para obter mais detalhes sobre como preparar o tamanho do sistema de registro desejado.

EhevuTov
fonte
2

A resposta de Igor é boa, mas eu gostaria de expandi-la para os atuais e futuros usuários de mecanismos de busca. Para completamente desativar syslogd, um pouco mais é necessário:

Desabilitar completamente o syslogd

pare syslogd

service syslogd onestop

  • Usa o service comando que está conosco desde o FreeBSD 7.3 (2012). Ele funciona para serviços em /etc/rc.d e /usr/local/etc/rc.d e é mais amigável para os dedos.
  • Usando onestop ao invés de stop irá parar o syslogd mesmo que estes comandos sejam executados fora de ordem.

desativar syslogd

sysrc syslogd_enable=NO

Esse comando faz exatamente o que o Igor instrui e acrescenta uma linha ao /etc/rc.conf, que impede que o syslogd inicie no futuro. Sysrc apareceu no FreeBSD 9.2 (2015). Anteriormente, a mesma coisa era geralmente realizada com echo syslogd_enable=NO >> /etc/rc.conf.

desativar o newsyslog na inicialização

sysrc newsyslog_enable=NO

Este comando impede newsyslog da execução no momento da inicialização.

desativar o newsyslog em tempo de execução

sed -i .bak -e '/^0.*newsyslog/ s/^0/#0/' /etc/crontab

Este comando sed procura a linha que começa com 0 e contém a palavra newsyslog. Em seguida, insere um # na frente do zero, desabilitando a tarefa cron do newsyslog. Agora você não receberá e-mails incômodos do cron reclamando que:

newsyslog: arquivo pid não existe: /var/run/syslog.pid


Está desabilitando o syslogd uma boa ideia?

EhevuTov faz um ponto muito bom que desabilitar o syslogd para economizar espaço em disco provavelmente não é o melhor raciocínio. No entanto, existem algumas boas razões para desabilitar o syslogd.

  1. Executando o FreeBSD em uma cadeia com um processo que manipula seu próprio logging (squid, nginx, etc.). Se nada na cadeia usa o syslogd, não há nenhum ganho em executá-lo.
  2. A execução de milhares de jails em um host do FreeBSD pode tornar uma arquitetura de syslog diferente mais sã (perdendo soquetes de log em cada jail (veja syslogd -l)).
  3. O nº 2 vale até mesmo para punhados de cadeias quando o registro centralizado é desejado. Evita precisar de todos os presos configurados com @host sintaxe para encaminhamento.
  4. Números 2 e amp; 3 são especialmente significativo se você também estiver roteando todos os logs para sistemas externos para indexação e arquivamento. O encaminhamento do syslog acaba tornando esses casos de uso mais complicados.
  5. Usando um daemon syslog diferente. Se estiver usando um daemon syslog alternativo, há uma boa chance de você querer o syslog de ações do FreeBSD e todas as suas suposições e expectativas completamente Desativado.
Matt Simerson
fonte