GNU/Linux >> Tutoriels Linux >  >> Linux

Comment trouver les messages d'erreur des scripts Linux init.d/rc.d ?

Solution 1 :

  1. Non - ils vont à STDOUT (si vous utilisez echo ) ou STDERR (si vous utilisez echo >&2 ).

  2. Vos scripts doivent écrire eux-mêmes dans les journaux et/ou syslog (votre distribution peut contenir des fichiers init.d fonctions qui pourraient vous y aider - ajoutez votre distribution à votre question).

Si vous optez pour les journaux, recherchez le tee commande. Si vous optez pour syslog, regardez logger . Vous pouvez les combiner comme bon vous semble.

Solution 2 :

Écrivez un script wrapper qui appelle votre script et redirige la sortie vers un fichier

#!/bin/bash

    /path/to/your/script &>/path/to/logfile

Solution 3 :

Vous pouvez créer une fonction pour renvoyer le message à la fois à l'écran et à syslog, quelque chose comme ceci :

LOGGER="/usr/bin/logger -t $myScript"    # check the location of logger for your system

myEcho () {
    echo "$1"
    $LOGGER "$1"
}

Vous pouvez également le mettre dans un fichier séparé et l'inclure dans vos scripts avec

#!/bin/bash
myScript=$(basename $0)
[ -r /myFunctions/myecho ] && . /myFunctions/myecho

Solution 4 :

Les messages des scripts d'initialisation ne sont généralement capturés nulle part. Ainsi, vous devez mettre en œuvre un moyen de le faire vous-même. Une bonne idée est d'utiliser logger pour envoyer toutes les sorties à syslog. Cet exemple enverra stdout et stderr à syslog :

exec 1> >(logger -s -t $(basename $0)) 2>&1

Je l'ai trouvé dans cet excellent article :http://urbanautomaton.com/blog/2014/09/09/redirecting-bash-script-output-to-syslog/.


Linux
  1. Comment puis-je trouver un fichier spécifique à partir d'un terminal Linux ?

  2. Comment supprimer des dossiers à l'aide de regex à partir du terminal Linux

  3. Comment afficher tous les messages de démarrage sous Linux après le démarrage ?

  4. Comment afficher les fichiers cachés à l'aide de la commande Linux "find"

  5. Comment désactiver complètement et dynamiquement la pile IPv4 de Linux ?

Comment trouver le nombre de cœurs de processeur à partir de la ligne de commande sous Linux

Comment trouver une adresse IP sous Linux

Comment trouver le nom d'hôte sous Linux

Comment trouver la liste des référentiels installés à partir de la ligne de commande sous Linux

Comment trouver toutes les polices installées à partir de la ligne de commande sous Linux

Comment rechercher des fichiers à partir de la ligne de commande Linux