Registros de saída para a estrutura de pasta criada dinamicamente (com base na data atual), usando o upstart para criar o serviço

0

Eu tenho a seguinte configuração inicial:

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


respawn 
respawn limit 99 5
#respawn is used to start the nodejs again, even if it fails.

env NODE_ENV=production
env PROJ=/home

script
    cd $PROJ
    cd htdocs
    exec sudo /opt/nodejs/bin/node app.js 2>&1 >> $PROJ/logs/$(date +"%Y_%m_%d_%I_%M").log
end script

Isso acrescenta (e cria, se não existir), ao arquivo dinâmico criado a cada minuto, qualquer mensagem STDOUT e STDERR. Agora eu queria ter pastas reais, como em

/logs/2018/05/29/10_05.log

mas alterando o código para

exec /opt/bitnami/nodejs/bin/node app.js 2>&1 >> $PROJ/logs/$(date +"%Y")/$(date +"%m")/$(date +"%d")/$(date +"%I_%M").log

não fornece a saída esperada, porque a pasta não existe. Pensei em adicionar um controle no script, que verifica se a pasta existe ou não, e a cria se não, mas espero que seja executada apenas uma vez, a hora em que o script é executado e não em cada mensagem STDOUT.

Existe alguma solução para isso?

Obrigado

    
por Ncifra 29.05.2018 / 18:00

0 respostas