กำหนดเวลารีบู๊ตบนเซิร์ฟเวอร์ Ubuntu ที่อยู่ในระยะไกล


17

ฉันทำงานบนเซิร์ฟเวอร์อูบุนตูซึ่งตั้งอยู่ในสถานที่ที่ฉันมักไม่ไป ฉันใช้ ssh ผ่าน openvpn เพื่อเข้าถึง เครื่องมีอินเตอร์เฟซแบบใช้สายหลายเส้นทางแบบคงที่หลายเส้นทางและเกตเวย์เริ่มต้นหลายเส้นทางไปยัง WAN ฉันเปลี่ยนที่อยู่และเส้นทางของอินเตอร์เฟสบ่อยครั้ง ส่วนใหญ่การเปลี่ยนแปลงที่ฉันทำเป็นการชั่วคราว - การรีบูตจะรีเซ็ตการทดลองที่ฉันทำ ในบางกรณีการดัดแปลงบางอย่างผิดพลาดและเครื่องออฟไลน์ ในกรณีเช่นนี้ฉันต้องโทรหาใครบางคน ณ สถานที่ที่เซิร์ฟเวอร์ตั้งอยู่เพื่อส่งเครื่องไปที่รีบูต

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

  1. จะบอกให้เซิร์ฟเวอร์ทำการรีบูทหลังจากเวลาที่กำหนดได้อย่างไร?
  2. หากฉันตัดสินใจว่าเครื่องไม่ควรรีบูตฉันควรยกเลิกได้

คำตอบ:


14

ในประเภทเทอร์มินัลshutdown -r 10 Waiting 10 minutes before the restart&ที่จะทำให้เซิร์ฟเวอร์รีบูตใน 10 นาทีให้กระจายข้อความที่อธิบายและการกดควบคุม + c จะขัดจังหวะการร้องขอการรีบูต

ในประเภทเทอร์มินัลshutdown -r 18:00 Rebooting at 18:00 hours&ที่จะทำให้เซิร์ฟเวอร์รีบูตเวลา 18:00 น. จะออกอากาศข้อความอธิบายว่าสามารถถูกขัดจังหวะด้วยการควบคุม + c

นอกจากนี้คุณยังสามารถขัดจังหวะปิดใด ๆ / คำสั่ง reboot บน "การทำงาน" shutdown -aขั้วกับ


2
นี่เป็นปัญหาเล็กน้อยเนื่องจากเป็นแบบโต้ตอบและบล็อกเชลล์ที่คุณใช้งาน ฉันไม่แน่ใจว่าสิ่งนี้จะทำงานได้ดีกว่า SSH หรือไม่หากเซสชันลดลง
Alain O'Dea

ฉันไม่พบชุดค่าผสมใด ๆnohupและsudoจะทำให้การทำงานนี้หากทำงานจากเซสชัน ssh ปกติในฐานะผู้ใช้กลุ่มผู้ดูแลระบบปกติ
HDave

สิ่งนี้จะทำงานร่วมกับหน้าจอเพื่อให้คำสั่งที่จะใช้และเซสชั่น ssh ลดลง?
Andy Davies

30

คุณยังสามารถใช้atเพื่อกำหนดเวลาการรีบูต ตัวอย่างเช่นsudo at 22:00การรันคำสั่งเวลา 22:00 นเป็นรูท จากนั้นป้อนคำสั่งที่คุณต้องการเรียกใช้: และจบด้วย/sbin/shutdown -r now ctrl-dหากคุณตัดสินใจที่จะไม่รันคำสั่งนี้ให้รันsudo atrm 1เพื่อลบคำสั่งแรกในatคิว ด้วยsudo atqคุณสามารถดูคิว


โซลูชั่นนี้สมบูรณ์แบบ!
Sukima

5
ควรทำเครื่องหมายเป็นคำตอบที่ถูกต้อง! กลุ่มatคำสั่งคือสิ่งที่ผู้ดูแลเซิร์ฟเวอร์ทุกคนควรรู้
HDave

2
ในกรณีที่คุณยังใหม่ต่อให้atดำเนินการsudo at 22:00ก่อน สิ่งนี้จะนำคุณไปสู่เปลือกหอยชนิดหนึ่ง จากนั้นคุณป้อนคำสั่งและctrl-dเพื่อออก ดูmixuperic.com/ubuntu/
ทิมริชาร์ดสัน
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.