%2C%20utilizando%20upstart%20para%20crear%20el%20servicio..png)
Tengo la siguiente configuración 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
Esto agrega (y crea si no existe), al archivo dinámico que se crea cada minuto, cualquier mensaje STDOUT y STDERR. Ahora quería tener carpetas reales, como en
/logs/2018/05/29/10_05.log
pero cambiando el código a
exec /opt/bitnami/nodejs/bin/node app.js 2>&1 >> $PROJ/logs/$(date +"%Y")/$(date +"%m")/$(date +"%d")/$(date +"%I_%M").log
no da el resultado esperado, porque la carpeta no existe. Pensé en agregar un control en el script, que verifica si la carpeta existe o no, y la crea si no, pero espero que se ejecute solo una vez, el momento en que se ejecuta el script, y no en cada mensaje STDOUT.
Hay alguna solución para esto?
Gracias