Redirecionando o log do aplicativo para o rsyslog no script upstart

2

Eu tenho um script upstart que faz o seguinte

start on runlevel [2345]
stop on runlevel [06]

respawn

pre-start script
    exec >/dev/kmsg 2>&1
    [email protected]:blabla/bli
    mkdir -p /var/log
    mkdir -p /var/www
    echo "Fetching app from $REPO"
    girror $REPO /var/www
    if [ -f /var/www/package.json ]; then
        echo "Installing npm modules"
        cd /var/www
        npm install
    fi
end script

post-stop script
    exec >/dev/kmsg 2>&1
    echo "stopped"
end script

script
    exec >/dev/kmsg 2>&1
    export NODE_ENV=production
    export port=80
    echo "Starting app.js on port 80"
    cd /var/www
    node app.js
end script

Estou executando o script como root. Os arquivos de log do aplicativo supõem ir para /var/log/syslog e para rsyslog, mas eles não vão lá.

Estou usando o rsyslog para enviar logs para um servidor remoto

Eu vejo o log do aplicativo ao executar dmesg | tail -f

Usando o kernel 3.5.0-46

Este script está trabalhando em outra máquina com um kernel antigo

Alguém sabe por que não funciona aqui?

    
por Michael 06.03.2014 / 02:32

1 resposta

0

Você provavelmente quer ver isso: link Mesmo que o rsyslog inicie como root, é bem possível que ele mude o usuário dentro de /etc/rsyslog.conf . Você pode querer alterar os privilégios do rsyslog dentro de sua configuração do rsyslog.

    
por 03.05.2016 / 19:34