当我rsync
或scp
来自特定服务器时,我会收到一条相当长的消息,告诉我服务器的规则。但是,当我设置定期拉取时,我希望能够在日志中隐藏这些消息。浏览手册页表明应该-q
可以工作,但这只会平息来自 scp 本身的消息。我怎样才能做到这一点?
答案1
如果您不想弄乱本地~/.ssh/config
文件并且该--no-motd
选项也不适合您,我已成功设置RSYNC_RSH
env 变量。
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 时抑制了横幅并清理了日志文件。