特定のサーバーからrsync
またはscp
を実行すると、サーバーのルールを伝えるかなり長いメッセージが表示されます。ただし、定期的なプルを設定する場合は、ログでこれらのメッセージを抑制できるようにしたいと考えています。 manページを見ると、-q
は機能するはずですが、scp自体からのメッセージを静めるだけです。これどうやってするの?
Rsyncの場合、--no-motd
スクリプトのmotdを抑制して、rsyncが転送しているものの出力のみを表示するために使用できます。 2.xではそのオプションが表示されないため、rsync 3.xで追加されたようです。
マニュアルページには、rsyncできるモジュールのリストを取得しようとするときに、それを使用しないことに関する警告がリストされています。
--no-motd
このオプションは、デーモン転送の開始時にクライアントによって出力される情報に影響します。これは、今日のメッセージ(MOTD)テキストを抑制しますが、(rsyncプロトコルの制限により)デーモンが「rsync Host ::」要求に応答して送信するモジュールのリストにも影響を与えるため、デーモンからモジュールのリストを要求する場合は、このオプションを省略してください。
Scpの場合、ファイル~/.hushlogin
。ファイルをscpしてもmotdは表示されませんが、設定が異なる場合があります。 login
のmanページに詳細情報があります:
.hushloginファイルが存在する場合は、「静かな」ログインが実行されます(これにより、メールのチェックと、最後のログイン時刻とその日のメッセージの印刷が無効になります)。それ以外の場合、/ var/log/lastlogが存在すると、最終ログイン時刻が出力されます(現在のログインが記録されます)。
ローカルの~/.ssh/config
ファイルをいじりたくなく、--no-motd
オプションも機能しない場合は、RSYNC_RSH
環境変数の設定に成功しました。
RSYNC_RSH="ssh -q" rsync
Rsyncオプション-e
を使用することもできます
rsync -e 'ssh -q'
お使いのバージョンのrsync
が--no-motd
オプションをサポートしていない場合は、LogLevel quiet
を~/.ssh/config
に入れるとうまくいきます。
SuSE 11システムでは、/ etc/issue.netでバナーメッセージを見つけ、/ etc/ssh/sshd_configファイルでバナー行を書き直しました。
#banner /etc/issue.net
次に、sshデーモンを再起動しました
service sshd restart
これにより、スクリプト内でscpを使用するときにバナーが抑制され、ログファイルがクリーンアップされました。