Script upstart que exibe erros no console?

2

Eu tenho um script iniciante simples que executa um processo e o reaparece se ele falhar. O problema é que se ele falhar, quero que o usuário seja avisado de que ele travou (porque eles podem precisar executar uma ação para evitar que ele falhe novamente). Aqui está meu script:

start on runlevel [2345]
stop on runlevel [016]

chdir /opt

respawn
respawn limit 5 10

exec /usr/bin/gulp --gulpfile ./lib/vendor/node/gulpfile.js 2>&1 > /var/log/gulp.log

Não que eu redirecione o erro padrão para o console (2 > & 1) e padronize um arquivo de log. O redirecionamento do arquivo de log FUNCIONA. Mas o erro padrão para o console NÃO. Esse redirecionamento de erros funciona se eu executar o comando diretamente do shell.

Coisas que eu tentei até agora: - Adicionando 'saída do console' ao script (que supostamente redireciona a saída para / dev / console) - Usando o comando exec start-stop-daemon --start -c myuser --exec (pensando que porque eu executo o job upstart com o sudo, o / dev / console aponta em algum outro lugar) ** este script simplesmente falha e nem roda

Alguma outra ideia? Eu realmente preciso de saída de erro para ser colocado no console para o usuário.

    
por asolberg 25.03.2014 / 00:58

1 resposta

0

Omita o 2>&1 - isso realmente redireciona o stderr para stdout. Você quer que o stderr vá para o console - que é o padrão para o stderr.

exec /usr/bin/gulp --gulpfile ./lib/vendor/node/gulpfile.js > /var/log/gulp.log
    
por 25.03.2014 / 12:57