GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Wie finde ich Fehlermeldungen von Linux-init.d/rc.d-Skripten?

Lösung 1:

  1. Nein - sie gehen zu STDOUT (wenn Sie echo verwenden ) oder STDERR (wenn Sie echo >&2 verwenden ).

  2. Ihre Skripte müssen selbst in Protokolle und/oder Syslog schreiben (Ihre Distribution könnte einige init.d enthalten Funktionen, die dort helfen könnten - fügen Sie Ihre Distribution zu Ihrer Frage hinzu).

Wenn Sie nach Protokollen suchen, suchen Sie nach tee Befehl. Wenn Sie sich für Syslog entscheiden, sehen Sie sich logger an . Sie können sie beliebig kombinieren.

Lösung 2:

Schreiben Sie ein Wrapper-Skript, das Ihr Skript aufruft und die Ausgabe in eine Datei umleitet

#!/bin/bash

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

Lösung 3:

Sie könnten eine Funktion erstellen, um die Nachricht sowohl auf dem Bildschirm als auch im Syslog anzuzeigen, etwa so:

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

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

Sie könnten das auch in eine separate Datei schreiben und es mit

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

Lösung 4:

Nachrichten von Init-Skripten werden im Allgemeinen nirgendwo erfasst. Daher müssen Sie einen Weg finden, dies selbst zu tun. Eine gute Idee ist die Verwendung von logger um alle Ausgaben an Syslog zu senden. Dieses Beispiel sendet stdout und stderr an syslog:

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

Ich habe es in diesem großartigen Artikel gefunden:http://urbanautomaton.com/blog/2014/09/09/redirecting-bash-script-output-to-syslog/.


Linux
  1. Linux – Wie konfiguriere ich die Syslog.conf-Datei, um Iptables-Meldungen in einer separaten Datei zu protokollieren?

  2. So schreiben Sie Linux-Init-Skripte basierend auf dem LSB-Init-Standard

  3. So zeigen Sie versteckte Dateien mit dem Linux-Befehl „find“ an

  4. Wie kann man den IPv4-Stack vollständig und dynamisch von Linux deaktivieren?

  5. So stellen Sie von Linux aus eine Verbindung zu einem Juniper-VPN her

So finden Sie die Anzahl der CPU-Kerne über die Befehlszeile in Linux

So finden Sie die IP-Adresse unter Linux

So finden Sie den Hostnamen unter Linux

So finden Sie die Liste der installierten Repositories über die Befehlszeile in Linux

So finden Sie alle installierten Schriftarten über die Befehlszeile in Linux

So suchen Sie nach Dateien über die Linux-Befehlszeile