Terminal: Gibt es eine Möglichkeit, über Aktivitäten informiert zu werden, wenn ein Fehlerprotokoll erstellt wird

2

Ich ssh oft in eine Maschine und Schwanz - wenn es PHP-Fehlerprotokoll ist. Meine ideale Situation wäre es, dieses Terminalfenster im Hintergrund offen zu lassen. Wenn jedoch Aktivität vom Befehl tail ausgeht, muss das Terminalfenster aktiviert und nach vorne verschoben werden, oder ich muss auf irgendeine Weise benachrichtigt werden, dass ein Fehler geschrieben wurde. Auf diese Weise müsste ich nicht immer Speicherplatz auf meinem Desktop reservieren.

Macht das Sinn?

user1636638
quelle

Antworten:

2

Das Dock-Symbol des Terminals springt ab, wenn ein nicht aktiver Tab gedruckt wird \ a:

tail -f /var/log/system.log | sed $'s/$/\a/'

Oder laufe sudo gem install terminal-notifier und mach so etwas:

tail -f /var/log/system.log | while IFS= read -r l; do echo "$l"; terminal-notifier -message "$l" > /dev/null; done

Lri
quelle
Aus irgendeinem Grund funktioniert dies nicht mit dem Apache-Protokoll tail -f /var/log/apache2/error_log | while IFS= read -r l; do echo "$l"; terminal-notifier -message "$l" > /dev/null; done
Raymond
1

Ich dachte darüber nach, ein AppleScript oder einen Hazel oder Keyboard Maestro vorzuschlagen, aber dann fiel mir iTerm ein.

iTerm sendet über Growl eine Benachrichtigung, wenn Aktivität vorliegt. Aus der Online-Hilfe:

Growl-Unterstützung

Wenn Sie Growl aktivieren (Einstellungen & gt; Profile & gt; Terminal & gt; Growl aktivieren)   Benachrichtigungen) und Sie haben Growl installiert, dann erhalten Sie   Meldungen, wenn ein Terminal piept, nach einer Ruheperiode ausgegeben hat,   oder endet.

Connectionfailure
quelle
0

Ich habe die gleiche Situation: Einen Server mit Protokolldateien und meinem lokalen Computer Ich möchte über Fehler und Warnungen informiert werden.

Ich hole die Protokolldateien regelmäßig auf meinen lokalen Computer und schaue sie mit einem Tool namens Logistic (www.logtastic.net) an.

Der Befehl zum Abrufen meiner Protokolldateien vom Server lautet:

while true ; do FONTDEFDEFAULT='\033[0m' ; FONTDEF='\033[1;35m'; echo -e "${FONTDEF}Copy ...${FONTDEFDEFAULT}" ; scp [USER]@[YOUR-SERVER]:/path/to/log/files/* /var/log/ ; sleep 3 ; done

Stellen Sie sicher, dass Sie SSH-Schlüssel generiert und freigegeben haben, damit Sie das Kennwort nicht jedes Mal eingeben müssen.

Gerrit
quelle