抑制rsync中的服务器消息


12

当我rsyncscp从一台特定服务器上收到一条长消息时,会告诉我服务器规则。但是,当我设置常规提取时,我希望能够在日志中隐藏这些消息。浏览手册页建议这样做-q应该可行,但这只会使来自scp本身的消息安静下来。我怎样才能做到这一点?

Answers:


6

对于rsync,它具有--no-motd可以用来抑制脚本的motd,并且仅查看rsync传输的输出。好像它是在rsync 3.x中添加的,因为我在2.x中看不到该选项。

手册页列出了有关在尝试获取可以rsync的模块列表时不使用它的警告:

-没有动静

此选项影响在守护程序传输开始时客户端输出的信息。这将取消显示每日消息(MOTD)文本,但是也会影响守护程序响应“ rsync host ::”请求而发送的模块列表(由于rsync协议的限制),因此如果要从守护程序请求模块列表,请忽略此选项。

对于scp,请尝试触摸文件~/.hushlogin。当我scp文件时,虽然看不到motd,但是您的设置可能有所不同。手册页中login有更多信息:

如果文件.hushlogin存在,则执行“安静”登录(这将禁用邮件检查以及当天的上次登录时间和消息的打印)。否则,如果存在/ var / log / lastlog,则显示上次登录时间(并记录当前登录)。


7
rsync --no-motd对我不起作用。SSH MOTD仍在显示。
艾丽西亚(Alicia)2013年

17

如果您不想弄乱本地~/.ssh/config文件并且该--no-motd选项也不起作用,那么我可以成功设置RSYNC_RSHenv变量。

RSYNC_RSH="ssh -q" rsync

您也可以尝试使用rsync选项 -e

rsync -e 'ssh -q'

--no-motd失败时对我有用。
罗恩·约翰(RonJohn)

5

如果你的版本rsync不支持--no-motd选项,puting LogLevel quiet~/.ssh/config会做的伎俩。


LogLevel quiet选项对我有用。注意:我确实必须创建文件(~/.ssh/config),但我只写了一行,瞧!不再/etc/issue.net显示!

0

在SuSE 11系统上,我在/etc/issue.net中找到了标语消息,然后在/ etc / ssh / sshd_config文件中标记了标语行。

#banner /etc/issue.net

然后重新启动ssh守护程序

service sshd restart

当在脚本内使用scp时,这可以消除横幅,并清理日志文件。


-1

您可能可以通过重定向STDERR到/ dev / null来抑制motd ,但是那样您也会错过所有其他错误消息。

scp src dst 2> /dev/null

这不是一个选项,所有输出都将定向到一个日志文件,以后需要查看-错误很重要!
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.