%2C%20usando%20o%20upstart%20para%20criar%20o%20servi%C3%A7o.png)
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 anexa (e cria, se não existir), ao arquivo dinâmico que é criado a cada minuto, quaisquer mensagens STDOUT e STDERR. Agora eu queria ter pastas reais, como em
/logs/2018/05/29/10_05.log
mas mudando 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 caso não, mas espero que seja executado apenas uma vez, no momento em que o script é executado, e não em cada mensagem STDOUT.
Existe alguma solução para isso?
Obrigado