Wir haben Skripte der Natur folgt zusammen (in cron)Gibt es einen Weg in einem Shell-Skript, um herauszufinden, wohin seine Ausgabe umgeleitet wird?
someScript.sh > /tmp/cronlog/somescript.$(date +%Y%m%d).log 2>&1
Jetzt gibt es eine Möglichkeit, durch die mit in someScript.sh
ich herausfinden kann, wie die Ausgabe in zu gegangen ist-Datei?
Das Skript sendet eine E-Mail mit einer Zusammenfassung. Zur gleichen Zeit möchte ich erwähnen, dass Details in so und so Ausgabedatei - mit in der E-Mail gefunden werden konnten.
Ich bin bewusst das Konstrukt if [ -t 1 ]
zu erkennen, Stdout usw., aber wie der Name der Ausgabedatei zu bekommen? Beachten Sie, dass dies generisch sein soll, damit jemand die Ausgabedatei in Cron ändern kann und das Skript nicht geändert werden muss.
bewegen den E-Mail-Teil des Prozesses ein Wrapper-Skript, das 'someScript.sh' aufruft, prüft, ob es korrekt ausgeführt wurde und sendet dann entsprechend gestaltete E-Mails (Erfolg, Warnung oder Fehler). ELSE setze eine logFile var, exportiere sie, ersetze tmp/... oben mit $ logFile, und verlasse dich auf $ {logFile} im Skript. Viel Glück. – shellter