Bei einigen Cloud-Computern, die ich starte, versuche ich, mich bei einer bestimmten Datei, einem bestimmten Syslog und dem Terminal / der Konsole anzumelden.
Am Anfang meiner Maschinen-Setup- / Cloud-Init-Skripte habe ich Folgendes:
#!/bin/bash
exec &> >(tee "/tmp/box-setup.log" | logger -t box-setup)
apt-get install -y some-package
Dies funktioniert hervorragend beim Senden von Ausgaben an eine Datei und ein Syslog, leitet jedoch keine Weiterleitungen an das Terminal weiter.
Im Allgemeinen ist es kein großes Problem, keine Terminalausgabe zu haben, außer wenn ich von einer Remote-Konsole aus debugge. In diesem Fall bin ich völlig blind, da die Konsole während der Ausführung des Bash-Skripts leer ist.
Gibt es eine einfache Möglichkeit, die bash
Umleitung oder was auch immer zu verwenden, um alle Ausgaben (Standardausgabe zusammen mit Standardfehler) gleichzeitig an eine Datei, ein Syslog und das Terminal zu leiten?
Ich verwende Ubuntu 16.04.
exec &> >(tee /tmp/box-setup.log >(logger -t box-setup))