formater un message de log
Bonjour,
J'ai actuellement plusieurs scripts bash dont certains peuvent être assez long et tous possèdent de nombreux cas d'erreur qu'il est rarement possible de résoudre à l'intérieur même du script (permissions d'accès aux fichier, ...). J'ai donc rajouter la commande suivante au début de mes scripts pour logger les différentes erreurs dans un fichier :
où $log représente un chemin vers mon fichier de log. Jusque là tout fonctionne.
Mais comme j'ai plusieurs scripts tournant en cronjob toutes les nuits, j'aimerais pouvoir rajouter avant chaque entrée une chaine spécifique pour pouvoir identifier mon script et préciser qu'il s'agit d'une erreur. (En cas de problème, grep est mon ami pour parser le fichier de log et m'aider à trouver la cause du problème)
En bonus j'aimerais également pouvoir rajouter la date et heure au moment d'effectuer le log (et pas au moment de d'initialiser le script sinon ce serait trop facile :D ).
J'ai donc essayé de partir sur quelque chose comme :
Code:
1 2
|
exec 2> echo 'CRONJOB:nomduscript.sh:ERROR ; '$(date)' '$0 >> $log |
avec diverses variantes, mais bien sur çà ne fonctionne pas absolument pas. J'imagine que je dois utiliser une autre commande que 'echo', et qu'il y a probablement des erreurs de syntaxe. Pourriez m'orienter dans la bonne direction svp ?