BASH date heure dans redirection d'erreur
Fermé
sbouli
Messages postés
200
Date d'inscription
jeudi 20 décembre 2007
Statut
Membre
Dernière intervention
14 août 2014
-
27 oct. 2008 à 12:36
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 - 27 oct. 2008 à 23:08
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 - 27 oct. 2008 à 23:08
6 réponses
dubcek
Messages postés
18755
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
14 novembre 2024
5 621
27 oct. 2008 à 12:53
27 oct. 2008 à 12:53
hello
/toto.sh 2>&1 | awk ' {system("date");print $0}' >>/chemin/erreurs_toto.logs
/toto.sh 2>&1 | awk ' {system("date");print $0}' >>/chemin/erreurs_toto.logs
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
27 oct. 2008 à 18:49
27 oct. 2008 à 18:49
Salut,
1. dans le script
1. dans le script
lami20j@debian:~/trash$ cat ccm.sh #!/bin/bash echo -e "$(date); \c" echo salut lami20j@debian:~/trash$ sh ccm.sh >> erreur.log lami20j@debian:~/trash$ cat erreur.log lundi 27 octobre 2008, 18:46:31 (UTC+0100); salut lami20j@debian:~/trash$2. avec awk
lami20j@debian:~/trash$ cat ccm.sh #!/bin/bash echo salut lami20j@debian:~/trash$ cat erreur.log lundi 27 octobre 2008, 18:46:31 (UTC+0100); salut lami20j@debian:~/trash$ sh ccm.sh|awk ' {system("date");print $0}' >> erreur.log lami20j@debian:~/trash$ cat erreur.log lundi 27 octobre 2008, 18:46:31 (UTC+0100); salut lundi 27 octobre 2008, 18:49:12 (UTC+0100) salut
sbouli
Messages postés
200
Date d'inscription
jeudi 20 décembre 2007
Statut
Membre
Dernière intervention
14 août 2014
2
27 oct. 2008 à 19:08
27 oct. 2008 à 19:08
En combinant vos 2 réponses, j'ai compris mon erreur, il manquait un espace .. entre 'et { :
/chemin/super_script.sh >/dev/null 2>&1 | awk ' {system("date");print $0}'>>/chemin/erreurs_super_script.log
Pour répondre à lami20j, ta solution correspond à récupérer le stout, ce qui ne m'interresse pas ! d'où le >/dev/null
Seules les erreurs m'interessent. Par contre si je souhaite débugger mon script, je remet le stout dans la console et je vois le déroulement avant les erreurs.
Ce système permet de visualiser d'un coup d'oeil les erreurs et seulement les erreurs dans le log !
Merci à tous les 2 !!
Stéphane
/chemin/super_script.sh >/dev/null 2>&1 | awk ' {system("date");print $0}'>>/chemin/erreurs_super_script.log
Pour répondre à lami20j, ta solution correspond à récupérer le stout, ce qui ne m'interresse pas ! d'où le >/dev/null
Seules les erreurs m'interessent. Par contre si je souhaite débugger mon script, je remet le stout dans la console et je vois le déroulement avant les erreurs.
Ce système permet de visualiser d'un coup d'oeil les erreurs et seulement les erreurs dans le log !
Merci à tous les 2 !!
Stéphane
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
27 oct. 2008 à 23:08
27 oct. 2008 à 23:08
Re,
Ah, d'accord, je n'ai pas vu que seulement STDERR t'intéresse ;-)
Ah, d'accord, je n'ai pas vu que seulement STDERR t'intéresse ;-)
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
27 oct. 2008 à 12:45
27 oct. 2008 à 12:45
Salut,
tu ajoutes au début de ton script
106485010510997108
tu ajoutes au début de ton script
echo -e "$(date)\c"--
106485010510997108
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
sbouli
Messages postés
200
Date d'inscription
jeudi 20 décembre 2007
Statut
Membre
Dernière intervention
14 août 2014
2
27 oct. 2008 à 12:52
27 oct. 2008 à 12:52
bonjour lami20j,
Je comprend bien que :
Ajouterais la date à la sortie standard mais moi je veux ajouter la date heure dans le fichier d'erreur ... lors de la redirection d'une erreur.
Je veux avoir la date heure de chaque erreur, tu noterras le double >> dans ma redirection pour conserver une trace des erreurs ...
Merci d'avance.
Stéphane
Je comprend bien que :
echo -e "$(date)\c"
Ajouterais la date à la sortie standard mais moi je veux ajouter la date heure dans le fichier d'erreur ... lors de la redirection d'une erreur.
Je veux avoir la date heure de chaque erreur, tu noterras le double >> dans ma redirection pour conserver une trace des erreurs ...
Merci d'avance.
Stéphane
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
27 oct. 2008 à 12:54
27 oct. 2008 à 12:54
Salut,
ben si tu ajoutes la commande à l'intérieur de ton script (au début)
STDOUT grâce à >> sera écrit dans le fichier et pas sur écran
106485010510997108
ben si tu ajoutes la commande à l'intérieur de ton script (au début)
STDOUT grâce à >> sera écrit dans le fichier et pas sur écran
#!/bin/bash echo -e "$(date)\c" # ton code--
106485010510997108
27 oct. 2008 à 18:42
ça me parait être la bonne voie, cependant j'ai l'erreur suivante :
-bash: awk{system("date");print $0}: command not found
avec la commande :
/chemin/super_script.sh >/dev/null 2>&1 | awk'{system("date");print $0}'>>/chemin/erreurs_super_script.log
AU SECOURS ....
Stéphane