ไม่แสดงข้อความเซิร์ฟเวอร์ใน rsync


12

เมื่อฉันrsyncหรือscpจากเซิร์ฟเวอร์โดยเฉพาะฉันได้รับข้อความค่อนข้างยาวบอกกฎของเซิร์ฟเวอร์ อย่างไรก็ตามเมื่อฉันตั้งค่าการดึงเป็นประจำฉันต้องการที่จะระงับข้อความเหล่านั้นในบันทึกของฉัน การดูหน้าคู่มือแนะนำว่า-qควรจะทำงานได้ แต่นั่นเป็นเพียง quiets ข้อความจาก SCP เอง ฉันจะทำสิ่งนี้ได้อย่างไร

คำตอบ:


6

สำหรับ rsync มี--no-motdคุณสามารถใช้ระงับ motd สำหรับสคริปต์ของคุณและเห็นเฉพาะผลลัพธ์ของ rsync ที่กำลังถ่ายโอน ดูเหมือนว่าจะถูกเพิ่มใน rsync 3.x เนื่องจากฉันไม่เห็นตัวเลือกนั้นใน 2.x

man page แสดงรายการ caveat เกี่ยวกับการไม่ใช้มันเมื่อพยายามรับรายการของโมดูลที่คุณสามารถ rsync:

--no-motd

ตัวเลือกนี้มีผลต่อข้อมูลที่ส่งออกโดยลูกค้าในช่วงเริ่มต้นของการถ่ายโอน daemon สิ่งนี้จะระงับข้อความ message-of-the-day (MOTD) แต่ก็มีผลต่อรายการของโมดูลที่ daemon ส่งเพื่อตอบสนองต่อคำขอ "rsync host ::" (เนื่องจากข้อ จำกัด ในโปรโตคอล rsync) ดังนั้น ไม่ใช้ตัวเลือกนี้หากคุณต้องการขอรายการโมดูลจาก daemon

สำหรับ SCP ~/.hushloginพยายามสัมผัสไฟล์ เมื่อฉันสแกนไฟล์ฉันไม่เห็น motd แต่การตั้งค่าของคุณอาจแตกต่างกัน man page สำหรับloginมีข้อมูลเพิ่มเติม:

หากไฟล์. hushlogin มีอยู่ระบบจะทำการเข้าสู่ระบบ "เงียบ" (สิ่งนี้จะปิดใช้งานการตรวจสอบจดหมายและการพิมพ์เวลาเข้าสู่ระบบและข้อความล่าสุดของวัน) มิฉะนั้นหากมี / var / log / lastlog เวลาล็อกอินครั้งสุดท้ายจะถูกพิมพ์ (และบันทึกการเข้าสู่ระบบปัจจุบัน)


7
rsync --no-motdไม่ได้ผลสำหรับฉัน SSH MOTD ยังคงแสดงอยู่
อลิเซี

17

ในกรณีที่คุณไม่ต้องการยุ่งกับ~/.ssh/configไฟล์ในเครื่องและ--no-motdตัวเลือกไม่ทำงานสำหรับคุณฉันก็ประสบความสำเร็จในการตั้งค่าRSYNC_RSHตัวแปร env

RSYNC_RSH="ssh -q" rsync

คุณอาจลองใช้ตัวเลือก rsync -e

rsync -e 'ssh -q'

ที่ทำงานให้ฉันเมื่อ--no-motdล้มเหลว
RonJohn

5

หากเวอร์ชันของคุณrsyncไม่รองรับ--no-motdตัวเลือกการใส่LogLevel quietใน~/.ssh/configจะเป็นการหลอกลวง


LogLevel quietตัวเลือกทำงานให้ฉัน หมายเหตุ : ฉันต้องสร้างไฟล์ ( ~/.ssh/config) แต่ฉันใส่ไว้ในหนึ่งบรรทัดและ voila! ไม่/etc/issue.netปรากฏขึ้นอีก!

0

ในระบบ SuSE 11 ของฉันฉันพบข้อความแบนเนอร์ใน /etc/issue.net จากนั้นให้สังเกตบรรทัดแบนเนอร์ในไฟล์ / etc / ssh / sshd_config ของฉัน

#banner /etc/issue.net

จากนั้นรีสตาร์ท ssh daemon

service sshd restart

สิ่งนี้ยับยั้งแบนเนอร์เมื่อใช้ scp ภายในสคริปต์และกำจัดไฟล์บันทึก


-1

คุณสามารถระงับ motd โดยเปลี่ยนเส้นทางSTDERRไปที่ / dev / null แต่ด้วยวิธีนี้คุณจะพลาดข้อความแสดงข้อผิดพลาดอื่น ๆ ทั้งหมดด้วย

scp src dst 2> /dev/null

นี่ไม่ใช่ตัวเลือกเอาต์พุตทั้งหมดจะถูกนำไปยังไฟล์บันทึกที่ต้องการการตรวจสอบในภายหลัง - ข้อผิดพลาดมีความสำคัญ!
ติดยา
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.