在 rsync 中抑制服务器消息

在 rsync 中抑制服务器消息

当我rsyncscp来自特定服务器时,我会收到一条相当长的消息,告诉我服务器的规则。但是,当我设置定期拉取时,我希望能够在日志中隐藏这些消息。浏览手册页表明应该-q可以工作,但这只会平息来自 scp 本身的消息。我怎样才能做到这一点?

答案1

如果您不想弄乱本地~/.ssh/config文件并且该--no-motd选项也不适合您,我已成功设置RSYNC_RSHenv 变量。

RSYNC_RSH="ssh -q" rsync

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

rsync -e 'ssh -q'

答案2

对于 rsync,--no-motd您可以使用它来抑制脚本的 motd,并且只能看到 rsync 正在传输的输出。看起来它是在 rsync 3.x 中添加的,因为我在 2.x 中没有看到该选项。

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

--no-motd

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

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

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

答案3

如果您的版本rsync不支持该--no-motd选项,只需输入LogLevel quiet即可~/.ssh/config

答案4

在我的 SuSE 11 系统上,我在 /etc/issue.net 中找到了横幅消息,然后在 /etc/ssh/sshd_config 文件中注释掉了横幅行。

#banner /etc/issue.net

然后重新启动 ssh 守护进程

service sshd restart

这在脚本内部使用 scp 时抑制了横幅并清理了日志文件。

相关内容