“ reboot” หรือ“ shutdown -r now”: คำสั่ง restart อะไรปลอดภัยกว่ากัน?


49

เรามีในองค์กรของเราประมาณ 500 เครื่อง RedHat Linux

ในทุกเครื่องเราติดตั้งแอพพลิเคชั่นและบริการภายใต้/etc/init.dและเซิร์ฟเวอร์ oracle RAC เราตั้งใจที่จะทำการปรับปรุงยำในทุกเครื่องและหลังจากนั้นทำการรีบูต

ดังนั้นฉันจึงสงสัยว่าคำสั่งใดปลอดภัยกว่า:

reboot

หรือ

shutdown -r now


1
เรามีชนิดทั้งหมด - เป็น redhat 4,5,6,7
dandan

6
ย้อนกลับกันเถอะ: ทำไมคุณถึงคิดว่าอาจมีความปลอดภัยต่างกัน?
underscore_d

2
@underscore_d: มันไม่สมเหตุสมผลที่จะคิดว่าอาจเป็นคำสั่ง "Internal-use-only" ซึ่งไม่ได้ทำตามขั้นตอนการปิดระบบแบบเดิมทั้งหมด เช่นหนึ่งอาจใช้อีกหลังจากทำตามขั้นตอนการล้างข้อมูลเริ่มต้นบางอย่าง แน่นอนหน้าคนอธิบายว่าrebootเป็นเพียงคำสั่งดั้งเดิมและยังคงมีอยู่เฉพาะสำหรับการเข้ากันได้ย้อนหลัง
Peter Cordes

1
คำถาม @knowhy ไม่สามารถเป็นซ้ำของคำถามบนที่แตกต่างกันเว็บไซต์ ..
บ้า

คำตอบ:


50

สำหรับระบบ Red Hat, ไม่มีความแตกต่างการทำงานระหว่างและrebootshutdown -r now

ทำสิ่งที่ง่ายสำหรับคุณ


13
แต่สิ่งหนึ่งที่ทำให้คุณพิมพ์มากขึ้นและเป็น 'เย็น' พื้นฐาน!
บ้า

หนึ่งต้องการเข้าถึงผู้ใช้ super ผู้อื่นสามารถดำเนินการโดยผู้ใช้ใด ๆ (ยกเว้น จำกัด ) จากเซสชั่น X
Burhan Khalid

2
@BurhanKhalid หากคุณมีคนสุ่มเข้าสู่ X เซสชันบนเซิร์ฟเวอร์แล้วคุณอาจมีปัญหาใหญ่กว่าสงสัยว่าคำสั่งสองคำใดที่ "ปลอดภัย"
CVn

1
อย่างน้อยใน Debian ( แต่ผมพร้อมที่จะยอมรับว่าผมไม่ทราบเกี่ยวกับ Red Hat แต่คำตอบเจนส์ Pikkarainen แสดงให้เห็นว่ามันอาจจะคล้ายกัน แต่แตกต่างกัน) halt, rebootและpoweroffไม่ยอมรับข้อความเหตุผลหรือเวลาในขณะที่มิคาอิลตันอธิบาย . ฉันคิดว่าฉันจะพิจารณาเครื่องมือหนึ่งเพื่อให้สามารถทำสิ่งที่เครื่องมืออื่นไม่อนุญาตให้เป็น "ความแตกต่างในการทำงาน"
CVn

87

การปิดระบบจะดีกว่าเพราะช่วยให้คุณสามารถระบุสาเหตุของการกระทำที่รุนแรง - สิ่งที่คุณควรทำ ข้อความจะถูกบันทึกไว้ในบันทึกเพื่อลูกหลาน ตัวอย่างเช่น:

shutdown -r now 'Kernel upgrade requires reboot'

คุณยังสามารถทำการรีบูตตามกำหนดเวลาได้โดยระบุสิ่งอื่นนอกเหนือnowจากเวลารีบูต:

shutdown -r 22:00 'Work around kernel memory leak'

จากนั้นผู้ใช้ของคุณจะได้รับการแจ้งเตือนเป็นระยะเพื่อออกไปเรื่อย ๆ - กระบวนการจะเป็นระเบียบและเป็นมืออาชีพมากขึ้น


13

หากคุณลองดูใน RHEL 7 ทั้งคู่/sbin/shutdownและ/sbin/rebootจริงๆแล้วเป็นเพียงการเชื่อมโยงกับsystemctlคำสั่งของ systemd ดังนั้นใช้สิ่งที่คุณต้องการ ไม่มีความแตกต่างในการใช้งานตามที่ ewwhite บอกไว้แม้แต่ใน RHEL รุ่นก่อนหน้าซึ่งยังไม่ได้ใช้ systemd


12
ฉันไม่พบเรื่องนี้น่าสนใจมาก: มันเป็นที่ชัดเจนว่า/sbin/shutdownและ/sbin/rebootจะไม่ประพฤติตัวเหมือนกันในทุกกรณี (โดยเฉพาะอย่างยิ่งใน: /sbin/shutdown! ไม่รีบูตโดยค่าเริ่มต้น) ดังนั้นหากพวกเขากำลัง symlinked เพื่อปฏิบัติการเดียวกันแล้วที่จะต้องปฏิบัติการ จะตรวจสอบARGV[0]และปรับพฤติกรรมตาม ในขณะที่ลดความเสี่ยงของความแตกต่างโดยไม่ได้ตั้งใจแต่ก็ไม่ได้เป็นหลักฐานที่น่าสนใจว่าไม่มีความแตกต่างในการทำงานโดยเจตนาที่ OP อาจต้องการทราบ
ruakh

3
ระวังการสมมติ symlink หมายถึงความเท่าเทียมกันโดยเฉพาะอย่างยิ่งหากมีชื่อที่แตกต่างกันที่เกี่ยวข้อง
mckenzm

ruakh พูดถูก - ลองคิดดูซักครู่แม้ว่าคุณrebootจะเชื่อมโยงไปถึงsystemctlคุณไม่สามารถใช้งานได้reboot status whatever.serviceอย่างที่คุณต้องการ
grawity

9

การใช้rebootปลอดภัยยิ่งขึ้น

การใช้rebootความตั้งใจของคุณนั้นชัดเจนและไม่มีทางที่จะพิมพ์ผิดเพื่อสิ่งอื่นเช่นshutdown -t nowที่อาจนำไปสู่การปวดหัวเล็กน้อยหากคุณใช้บนเซิร์ฟเวอร์ระยะไกลที่มีการควบคุมที่ จำกัด


2
IMHO ประเมินคำตอบไม่ถูกต้อง บ่อยครั้งมากที่เราลืมว่าการทำให้ความตั้งใจชัดเจนและมีความสำคัญเพียงใดและประหยัดเวลาและคำสบถเท่าใดในระยะยาว!
RoughTomato

1

สำหรับ RHEL สมัยใหม่คุณควรใช้คำสั่ง systemctl ตามที่สรุปไว้ที่นี่ : [การกระจายล่าสุด] RHEL ควรใช้คำสั่ง systemctl ใหม่เพื่อออก poweroff / reboot ตามที่ระบุไว้ใน manpages ของ reboot และ shutdown พวกเขาคือ "คำสั่งดั้งเดิมที่มีให้สำหรับความเข้ากันได้เท่านั้น"

shutdown -r now 'reason for shutdown'แต่ถ้าคุณใช้การแจกแจงที่แตกต่างกันจำนวนมากหรือการกระจายของไวน์ต่างๆแล้วบางทีติดกับ

เหตุผลหลักที่ใช้rebootคือเพื่อหลีกเลี่ยงความเสี่ยงในการลืมเพิ่ม -r เมื่อใช้shutdown -rกับเครื่องรีโมตซึ่งอาจส่งผลให้ไม่สามารถล็อกอินอีกครั้งและต้องใช้รีโมตผู้ดูแลระบบ (ถ้ามี) เพื่อรีสตาร์ท เครื่อง


0

ระบบเก่าทำให้ความแตกต่างระหว่างshutdownและrebootแน่นอน หลังจะไม่ปิดบริการหรือจำเป็นต้องซิงค์บัฟเฟอร์ดิสก์ด้วยซ้ำ ในสภาพแวดล้อมที่ต่างกัน - หรือเพื่อหลีกเลี่ยงก่อนหน้านี้ที่อาจเป็นอันตรายในอนาคตเมื่อพบการใช้งาน * ix อื่น ๆ - มีคุณค่าในการเข้าสู่shutdownนิสัย

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