Servermeldung in rsync unterdrücken

12

Wenn ich rsyncoder scpvon einem bestimmten Server aus, erhalte ich eine ziemlich lange Nachricht mit den Regeln des Servers. Wenn ich jedoch regelmäßige Pulls einrichte, möchte ich diese Nachrichten in meinen Protokollen unterdrücken können. Ein Blick in die Manpage -qlegt nahe , dass dies funktionieren sollte, dass jedoch nur Nachrichten von scp selbst unterdrückt werden. Wie kann ich das machen?

Süchtig
quelle

Antworten:

6

Für rsync gibt es eine, mit der --no-motdSie die Motd für Ihr Skript unterdrücken und nur die Ausgabe dessen sehen können, was rsync überträgt. Es sieht so aus, als ob es in rsync 3.x hinzugefügt wurde, da ich diese Option in 2.x nicht sehe.

Die Manpage listet eine Einschränkung auf, wenn Sie versuchen, eine Liste der Module zu erhalten, die Sie mit rsync synchronisieren können:

--no-motd

Diese Option wirkt sich auf die Informationen aus, die der Client zu Beginn einer Daemon-Übertragung ausgibt. Dies unterdrückt den MOTD-Text (Message of the Day), wirkt sich jedoch auch auf die Liste der Module aus, die der Dämon als Antwort auf die Anforderung "rsync host ::" sendet (aufgrund einer Einschränkung im rsync-Protokoll) Lassen Sie diese Option aus, wenn Sie die Liste der Module vom Dämon anfordern möchten.

Versuchen Sie für scp, die Datei zu berühren ~/.hushlogin. Wenn ich Dateien scp, sehe ich das motd zwar nicht, aber Ihre Einstellung kann unterschiedlich sein. Die Manpage für loginhat mehr Infos:

Wenn die Datei .hushlogin vorhanden ist, wird eine "stille" Anmeldung durchgeführt (dies deaktiviert das Prüfen von E-Mails und das Drucken der letzten Anmeldezeit und der Nachricht des Tages). Andernfalls wird, wenn / var / log / lastlog vorhanden ist, die letzte Anmeldezeit gedruckt (und die aktuelle Anmeldung wird aufgezeichnet).

Mark McKinstry
quelle
7
rsync --no-motdfunktioniert bei mir nicht Das SSH MOTD wird noch angezeigt.
Alicia
17

Falls Sie sich nicht mit Ihrer lokalen ~/.ssh/configDatei anlegen möchten und die --no-motdOption auch nicht für Sie funktioniert, konnte ich die RSYNC_RSHenv-Variable erfolgreich einstellen .

RSYNC_RSH="ssh -q" rsync

Sie können auch versuchen, die Option rsync zu verwenden -e

rsync -e 'ssh -q'
166_MMX
quelle
Das hat bei mir funktioniert, als es --no-motdfehlgeschlagen ist.
RonJohn
5

Wenn Ihre Version von rsyncnicht unterstützt --no-motdOption, Puting LogLevel quietin ~/.ssh/configden Trick.

Robert Wallace
quelle
Die LogLevel quietOption hat bei mir funktioniert. Hinweis : Ich musste die Datei erstellen ( ~/.ssh/config), aber ich habe die eine Zeile eingefügt, und voila! nicht mehr /etc/issue.netauftauchen!
0

Auf meinem SuSE 11-System habe ich die Bannermeldung in /etc/issue.net gefunden und dann die Bannerzeile in meiner / etc / ssh / sshd_config-Datei auskommentiert.

#banner /etc/issue.net

Dann den ssh-Daemon neu gestartet

service sshd restart

Dadurch wurde das Banner unterdrückt, wenn scp in Skripten verwendet wurde, und die Protokolldateien wurden bereinigt.

Eeyore
quelle
-1

Sie können das motd wahrscheinlich unterdrücken, indem Sie STDERRnach / dev / null umleiten , aber auf diese Weise verpassen Sie auch alle anderen Fehlermeldungen.

scp src dst 2> /dev/null
jippie
quelle
Dies ist keine Option, alle Ausgaben werden an eine Protokolldatei geleitet, die später überprüft werden muss - Fehler sind wichtig!
Süchtig