Altera o diretório / arquivo de log para um serviço Upstart

6

Eu tenho um serviço iniciante que preenche o espaço. Eu preciso mover os logs de / var / log / upstart para um diretório / pub / data / logs / order_server diferente. Eu tentei fazer isso usando

console log --logdir /pub/data/logs/order_server

mas dá um erro

start: Unknown job: order_server

verificando o arquivo

$ init-checkconf /etc/init/order_server.conf
ERROR: failed to ask Upstart to check conf file

A história é semelhante a esta . Acabei fazendo o hack exec /path/to/my/daemon --arg1 --arg2 >/mnt/log/XYZ 2>&1 como alguém sugeriu.

O seguinte é o arquivo conf do serviço

# Ubuntu upstart file at /etc/init/order_server.conf
description "order server dev version"



start on (local-filesystems and net-device-up)
stop on runlevel [06]

respawn
respawn limit 10 5

exec /pub/integration_prod/integration/order_server.sh >> /pub/data/logs/order_server/order_server.log 2>&1

Agora, o local do arquivo de log é alterado para o novo local, mas é difícil girar os logs. O arquivo de log é compactado, mas um novo arquivo de log não é criado.

a rotação inicial parece algo como isto

/var/log/upstart/*.log /pub/data/logs/order_server/order_server.log {
        daily
        missingok
        rotate 3
        compress
        notifempty
        nocreate
}

Minha intenção inicial é consertar isso usando a opção console log como sugerido aqui . Espero que alguém possa ajudar.

    
por mezi 04.02.2015 / 11:07

1 resposta

1

O livro de receitas diz que --logdir é uma opção de linha de comando, o que significa que não é uma opção que entra em um arquivo de trabalho inicial, mas na linha de comando do próprio Upstart. Você pode verificar isso na página de manual do init (8), cf. link

   --logdir directory
          Write   job   output   log  files  to  a  directory  other  than
          /var/log/upstart.

Em outras palavras, é uma opção global, não uma opção por trabalho.

    
por Josip Rodin 10.07.2016 / 00:19

Tags