
Ich verwende die folgenden Befehle, um den Speicherplatz per Remote-Zugriff per SSH zu extrahieren. Ich möchte aber nur die Ausgabe und nicht alle anderen Nachrichten wie unten speichern:
Irgendeine Hilfe? Oder eine alternative Lösung?
ssh rajesh-server 'df -h /db* | cat' 2>&1
|-----------------------------------------------------------------|
| This system is for the use of authorized users only. |
| Individuals using this computer system without authority, or in |
| excess of their authority, are subject to having all of their |
| activities on this system monitored and recorded by system |
| personnel. |
| |
| In the course of monitoring individuals improperly using this |
| system, or in the course of system maintenance, the activities |
| of authorized users may also be monitored. |
| |
| Anyone using this system expressly consents to such monitoring |
| and is advised that if such monitoring reveals possible |
| evidence of criminal activity, system personnel may provide the |
| evidence of such monitoring to law enforcement officials. |
|-----------------------------------------------------------------|
Filesystem Size Used Avail Use% Mounted on
/dev/vx/dsk/xcv01_day/db01_day
200G 154G 44G 79% /db01_day
/dev/vx/dsk/xcvg01_day/db01_day
200G 154G 44G 79% /db01_day
/dev/vx/dsk/xcvg01_day/db01_day
200G 154G 44G 79% /db01_day
Antwort1
Der gesamte Text in der „Box“ wird von Ihren Anmeldeskripten und nicht vom df
Befehl generiert. Ein Server, der mit Anmeldenachrichten eingerichtet wurde, zeigt diese Nachrichten häufig nicht an, wenn .hushlogin
in Ihrem Home-Verzeichnis eine Datei mit dem Namen vorhanden ist. Versuchen Sie also zunächst, diese Datei zu erstellen:
ssh rajesh-server "touch .hushlogin"
Als nächstes benötigen Sie | cat
höchstwahrscheinlich weder das in Ihrer Befehlszeile, noch die stderr-Umleitung. Versuchen Sie stattdessen Folgendes:
ssh rajesh-server 'df -h /db*'
Wenn Sie die Nachrichten auch mit der .hushlogin
vorhandenen Datei erhalten, müssen Sie Ihre Ausgabe analysieren. Dies würde dies tun:
ssh rajesh-server 'df -h /db*' | sed '/^|/d'
Dieser sed
Befehl übernimmt die Ausgabe Ihres SSH-Befehls, löscht alle Zeilen, die mit einem Pipe-Zeichen beginnen, und druckt alles andere aus.
Beachten Sie, dass Sie wahrscheinlich die Verwendung eines Überwachungstools in Betracht ziehen sollten, das speziell für diese Art von Aufgabe entwickelt wurde. Es gibt viele davon, einige davonRRDToolFrontends. Meine Favoriten sindKakteenUndMunin. Diese stellen Ihre Festplattennutzung (oder Netzwerknutzung o. Ä.) grafisch dar, sodass Sie sehen können, wie sich die Dinge im Laufe der Zeit ändern.
Wenn Sie ein Tool möchten, das Sie warnt, wenn Sie sich den Grenzwerten nähern, schauen Sie sich anNagios,VereisungoderZabbix.
Antwort2
ssh rajesh-server 'df -h /db*' > file 2> /dev/null
sendet die Remote- df
Ausgabe an file
und den Datenmüll des Servers an /dev/null
.