Menekan pesan server di rsync

12

Ketika saya rsyncatau scpdari server tertentu, saya mendapatkan pesan yang agak panjang yang memberi tahu saya aturan server. Namun ketika saya mengatur tarikan reguler, saya ingin dapat menekan pesan-pesan itu di log saya. Melihat melalui halaman manual menyarankan bahwa itu -qharus bekerja, tetapi itu hanya menenangkan pesan dari scp itu sendiri. Bagaimana saya bisa melakukan ini?

Doyan
sumber

Jawaban:

6

Untuk rsync, ia memiliki huruf --no-motdyang dapat Anda gunakan untuk menekan motd untuk skrip Anda dan hanya melihat output dari apa yang ditransfer rsync. Sepertinya sudah ditambahkan di rsync 3.x karena saya tidak melihat opsi itu di 2.x.

Halaman manual mencantumkan peringatan tentang tidak menggunakannya saat mencoba mendapatkan daftar modul yang dapat Anda rsync:

--tidak ada motd

Opsi ini memengaruhi informasi yang dikeluarkan oleh klien pada awal transfer daemon. Ini menekan pesan message-of-the-day (MOTD), tetapi juga memengaruhi daftar modul yang dikirimkan daemon sebagai tanggapan terhadap permintaan "rsync host ::" (karena keterbatasan dalam protokol rsync), jadi hilangkan opsi ini jika Anda ingin meminta daftar modul dari daemon.

Untuk scp, cobalah menyentuh file ~/.hushlogin. Ketika saya scp file, saya tidak melihat motd tetapi pengaturan Anda mungkin berbeda. Halaman manual untuk loginmemiliki lebih banyak info:

Jika file .hushlogin ada, maka "tenang" login dilakukan (ini menonaktifkan pemeriksaan surat dan pencetakan waktu login terakhir dan pesan hari ini). Kalau tidak, jika / var / log / lastlog ada, waktu login terakhir dicetak (dan login saat ini dicatat).

Mark McKinstry
sumber
7
rsync --no-motdtidak bekerja untuk saya. SSH MOTD masih ditampilkan.
Alicia
17

Jika Anda tidak ingin mengacaukan ~/.ssh/configfile lokal Anda dan --no-motdopsi tidak berfungsi untuk Anda juga, saya berhasil mengatur RSYNC_RSHvariabel env.

RSYNC_RSH="ssh -q" rsync

Anda juga dapat mencoba menggunakan opsi rsync -e

rsync -e 'ssh -q'
166_MMX
sumber
Itu berhasil bagi saya ketika --no-motdgagal.
RonJohn
5

Jika versi rsynctidak mendukung --no-motdpilihan, puting LogLevel quietdi ~/.ssh/configakan melakukan trik.

Robert Wallace
sumber
The LogLevel quietpilihan bekerja untuk saya. Catatan : Saya memang harus membuat file ( ~/.ssh/config), tapi saya letakkan di satu baris, dan voila! tidak ada lagi yang /etc/issue.netmuncul!
0

Pada sistem SuSE 11 saya, saya menemukan pesan spanduk di /etc/issue.net dan kemudian mengomentari baris spanduk di file / etc / ssh / sshd_config saya.

#banner /etc/issue.net

Kemudian restart daemon ssh

service sshd restart

Ini menekan banner ketika menggunakan skrip dalam scp dan membersihkan file log.

Eeyore
sumber
-1

Anda mungkin dapat menekan motd dengan mengarahkan ulang STDERRke / dev / null, tetapi dengan cara itu Anda akan kehilangan semua pesan kesalahan lainnya juga.

scp src dst 2> /dev/null
jippie
sumber
Ini bukan opsi, semua output diarahkan ke file log yang perlu ditinjau nanti - kesalahan penting!
Hooked