BASH redirection en nohup et double ...

sbouli Messages postés 200 Date d'inscription   Statut Membre Dernière intervention   -  
sbouli Messages postés 200 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Je souhaite lancer un script PHP en daemon nohup avec 3 objectifs :
- capturer ou ne pas avoir de message de nohup lors du lancement
- envoyer les flux OUT et ERR dans le même fichier de log
- envoyer EN PLUS le flux ERR dans un autre fichier de log (en double)
EDIT : si en plus je pouvais récupérer facilement l'id process dans un fichier >/var/run/script.pid
j'en suis à :

nohup /script.php 0</dev/null 1>/logs/output_script.log 2>&1  & 


je n'ai pas trouvé pour faire un tee des erreurs dans output_script_erreurs.log

Merci pour votre aide !

Stéphane
A voir également:

2 réponses

Char Snipeur Messages postés 9813 Date d'inscription   Statut Contributeur Dernière intervention   1 299
 
essai ça :

nohup /script.php 0</dev/null 1>>/logs/output_script.log 2| tee -a /logs/output_sript.log>err.log &

pour récupérer l'id du processus, ce n'est pas évident car tu utilise nohup. Attention avec nohup, car il n'est pas toujours pris en compte.
Sinon, ce que tu fait, tu lances en tâche de fond (sans nohup), tu récupère l'id (la dernière ligne de jobs par exemple) et du détache le processus avec disown.
1
sbouli Messages postés 200 Date d'inscription   Statut Membre Dernière intervention   2
 
Bonjour

tout d'abord, merci !, j'ai bien le log d'erreur dans le log spécifique !!

par contre j'ai aussi ce message : nohup: redirecting stderr to stdout et il faut que je valide par espace le passage en background, je vais donc essayer ta solution du disown.

pour le PID, je passe par php direct finalement ça me parait plus simple !

Merci

Stéphane
0