ผู้ดูแลระบบของฉันจะรู้ได้อย่างไรว่าฉันไม่ได้รีบูทระบบ


35

ฉันได้รับอีเมลจากผู้ดูแลระบบของฉันโดยบอกว่าฉันจำเป็นต้องรีบูตระบบเพื่อใช้งานแพตช์บางอย่าง ฉันลืมไปแล้วและหลังจากนั้นสองสามชั่วโมงฉันก็ได้รับจดหมายอีกฉบับหนึ่งบอกฉันว่าฉันยังไม่ได้รีบูทระบบ

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


10
บางทีคุณควรถามเขา
Marco Ceppi

1
ว้าวฉันไม่เคยรู้เลยว่ามีหลายวิธี ขอบคุณเพื่อน!
nikhil

คำตอบ:


43

วิธีที่รวดเร็วในการตรวจสอบสิ่งนี้จากระยะไกลสามารถทำได้โดยใช้SNMP (หาก SysAdmin ของคุณตั้งค่าไว้ในเครือข่ายของคุณ):

admin@yourcompany:~$ snmpwalk -v 2c -c <snmpstring> MachineName sysUpTimeInstance
DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (9461615) 1 day, 2:16:56.15

ส่วนใหญ่แล้วข้อมูลจะถูกสำรวจและจัดเก็บไว้ในระบบการจัดการเครือข่าย / การตรวจสอบบางประเภท (เช่น Nagios หรือ Cacti)

ในกรณีที่ใครสนใจเล่นsnmpwalkคำสั่งดูคำตอบที่นี่เพื่อรับการตั้งค่า SNMP พื้นฐานในระบบของคุณ


ทำได้ดีนี่. ใครบางคนที่นี่สร้างสคริปต์ที่มีลักษณะบิตยากที่จะรักษาและนี้ดีหนึ่งซับรูปลักษณ์: D ขอขอบคุณและมี upvote;)
Rinzwind

@ รินซ์วินขอบคุณ นี่เป็นอีกหนึ่งสายการบินที่ฉันใช้เป็นบางครั้งsudo hping3 -c 2 -p 80 --tcp-timestamp -S <IPaddress> 2>&1 | grep uptime
Kevin Bowen

ซอฟต์แวร์ตรวจสอบปกติทุกชิ้นสามารถทำสิ่งนี้ได้อย่างไรก็ตาม SNMP เป็นซอฟต์แวร์ที่ใช้กันทั่วไปและเป็นตัวอย่างที่ดี +1
gertvdijk

28

วิธีการง่าย ๆ คือการตรวจสอบผลลัพธ์ของuptimeคำสั่งซึ่งแสดงระยะเวลาที่คุณใช้ระบบโดยไม่ต้องปิดเครื่อง / รีสตาร์ท

ตัวอย่างผลลัพธ์:

saji@geeklap:~$ uptime
12:41:29 up  3:08,  2 users,  load average: 1.06, 0.85, 0.86

มีข้อความระบุว่าระบบของฉันเปิดเครื่องเป็นเวลา 3 ชั่วโมง 8 นาที

ผู้ดูแลระบบสามารถตั้งค่าสคริปต์เชลล์เพื่อใช้uptimeหรือใช้วิธีอื่นตามรายละเอียดในลิงก์นี้ อีกวิธีหนึ่งที่ผู้ดูแลระบบสามารถใช้คือการตั้งค่าอีเมลที่จะส่งเมื่อปิดระบบหรือรีสตาร์ทโดยมีรายละเอียดอยู่ที่ลิงค์นี้


สามารถทำสิ่งนี้ได้จากระยะไกลหากพวกเขาไม่สามารถเข้าสู่ระบบของฉันได้?
Nikhil

1
ผู้ดูแลระบบส่วนใหญ่จะสามารถเข้าถึงระบบของคุณเพื่อจุดประสงค์ด้านการจัดการ :)
saji89

5
ไม่น่าจะเป็น @ saji89 ผู้ดูแลระบบมีสิ่งที่ดีกว่าที่จะทำแล้วเพื่อตรวจสอบทุกระบบในพื้นที่สำหรับเวลาทำงาน ...
Rinzwind

2
@ Rinzwind ฉันไม่ได้บอกว่าเขาควรจะใช้มัน ฉันแค่ชี้ให้เห็นว่าเขาจะสามารถเข้าถึงเครื่องได้ ในกรณีนี้ผู้ดูแลระบบมีเหตุผลในการตรวจสอบ :)
saji89

1
อาโอเค. แต่ฉันมีสิ่งที่ดีกว่าที่จะทำแล้วเพื่อตรวจสอบระบบ 'uptime;) @ saji89
Rinzwind

9

@ saji89พูดถึงuptimeคำสั่ง ฉันจะลงไปหนึ่งขั้นต่ำและเพียงวางตัวว่าดูแลระบบมีสคริปต์บางแห่งที่เชื่อมต่อกับคอมพิวเตอร์แต่ละเครื่องและทำcat /proc/uptime(หรือสิ่งที่เทียบเท่า) uptimeสนามแรกของการส่งออกเป็นเวลาที่ในวินาทีตั้งแต่ระบบบูตที่ผ่านมาซึ่งเป็นเรื่องง่ายที่จะแยกกว่าการส่งออกของ ยกตัวอย่างเช่นคอมพิวเตอร์ของฉันให้เป็นสนามแรกของ uptime 1441218.24กับการกลับมาuptime up 16 days, 16:201441218 วินาทีคือ 16 วันบวก 58818 วินาทีและ 58818 วินาทีคือ 16 1/3 ชั่วโมง 16 วัน 16 1/3 ชั่วโมง

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

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


8

วิธีอื่นเพียงเพื่อความสมบูรณ์คือการดู/var/log/wtmpผ่าน คำสั่งสุดท้าย ตัวอย่าง:

$ last reboot
reboot   system boot  3.2.0-36-generic Thu Jan 24 16:25 - 17:42 (1+01:17)   

wtmp begins Tue Jan  1 06:30:03 2013

วิธีนี้เป็นที่ชื่นชอบเพราะมันยังเป็นความทรงจำที่สมบูรณ์แบบ

Q: When did the last reboot occur? 
A: Just type 'last reboot'

7

เมื่อเป็นแพคเกจที่ต้องรีบูตได้รับการปรับปรุงผ่านapt, ไฟล์ที่เรียกว่าถูกสร้างขึ้นลงreboot-required /var/run/ดูแลระบบสามารถตรวจสอบการมีอยู่ของไฟล์นี้จากระยะไกลเพื่อตรวจสอบว่าจำเป็นต้องมีการรีบูตเนื่องจากการปรับปรุง


ผู้ดูแลระบบขอให้ผู้ดูแลระบบทำการรีบูทคอมพิวเตอร์ "เพื่อใช้งานบางส่วน" อย่างน้อยฉันนี้แสดงให้เห็นว่าการปรับปรุงที่เกิดขึ้นจริงที่เกิดขึ้นผ่านกลไกบางอย่างในระหว่างขั้นตอนการบู๊ต (อาจเป็นสคริปต์การบูตที่ดำเนินการบางอย่างตามลำดับapt-get -y upgrade) ดังนั้นจะไม่มีreboot-requiredเนื่องจากจากมุมมองของ apt การรีบูตจึงยังไม่จำเป็น
CVn

2
ฉันสงสัยว่าเป็นกรณีนี้เนื่องจากผู้ใช้จะต้องรีบูตสองครั้งหากการอัปเดตจำเป็นต้องรีบูตหลังการติดตั้งและหากไม่มีการอัปเดตที่จำเป็นต้องรีบูตระบบดูแลระบบสามารถเรียกใช้สคริปต์เดียวกันและอัปเดตในพื้นหลังแบบรีโมต . ฉันไม่รู้ว่ามีการอัพเกรดอิมเมจเคอร์เนล (หรืออย่างอื่นที่ต้องรีบูต) และผู้ใช้ต้องรีบูตเพื่อใช้เคอร์เนลใหม่ แต่นี่เป็นเพียงการคาดเดา
onik

2

นี้ ...

เพื่อใช้แพทช์บางอย่าง

เป็นส่วนสำคัญ

หากผู้ดูแลระบบเป็นคนดีเขาอาจตั้งค่าการอัปเดตจากเครื่อง HIS เพื่อให้พีซีไม่ต้องดาวน์โหลดไฟล์เดียวกันจากเว็บ ถ้าเป็นเช่นนั้นเขาจะเห็นจากเครื่องของเขาเองที่ดาวน์โหลดแพตช์

จากนั้นเขาเพียงแค่ต้องดูที่อยู่ IP ของระบบที่โหลดแพตช์และส่งและส่งอีเมลไปยังที่ไม่ได้ อีเมลนั้นอาจเป็นอีเมลที่สร้างขึ้นโดยอัตโนมัติ ลองนึกภาพมี 500 เครื่อง การตรวจสอบแต่ละรายการด้วยตนเองนั้นเป็นการเสียเวลาหากมีหลายวิธีที่เขาสามารถทำได้จากกลไกของเขาเอง

1 เหตุผลที่สำคัญมากสำหรับการทำเช่นนี้: ผู้ดูแลระบบต้องมีการควบคุมสิ่งที่เกิดขึ้นบนระบบที่เขาต้องการรักษา ดังนั้นเขาควรจะมีจุดควบคุมเดียวเสมอ (เช่นเครื่องของเขาที่เขามีเครื่องมือทั้งหมด) ที่ซึ่งเขาสามารถเห็นสถานะของเครื่องใด ๆ


3
คุณอาจต้องรีบูตเพื่อใช้งานแพทช์ไม่รับประกันว่าการดาวน์โหลดจะเกิดขึ้นเฉพาะตอนรีบูต
Karthik T

2

มีวิธีการที่ใช้ได้หลายวิธีที่อธิบายไว้ในคำตอบ การเข้าสู่ระบบและตรวจสอบสถานะการออนไลน์จะแปลกสำหรับ บริษัท ขนาดใหญ่ แต่ทำได้สำหรับ บริษัท ขนาดเล็ก ดูแลระบบสามารถตรวจสอบผ่าน SNMP แต่สามารถใช้อาร์กิวเมนต์ "ปัญหา" เดียวกันได้

สถานการณ์ที่เป็นไปได้มากที่สุดเท่าที่ฉันกังวล:

  1. ดูแลระบบรันการตรวจสอบซอฟต์แวร์บางประเภทซึ่งอาจเป็น Nagios ที่ตรวจสอบกลุ่มคอมพิวเตอร์เพื่อหาปัญหา บางอย่างเช่นปลั๊กอิน NRPE จะใช้สำหรับระบบส่วนใหญ่และสามารถแสดงสถานะการออนไลน์ (นอกเหนือจากดิสก์ผู้ใช้ที่ลงชื่อเข้าใช้ ฯลฯ )
  2. สามารถใช้วิธีการที่คล้ายกันเพื่อตรวจสอบสิ่งที่กำลังทำงานอยู่ หากสามารถตรวจสอบแพตช์ที่ต้องได้รับการอัพเดท (เคอร์เนลที่คุณใช้อยู่) สคริปต์ "เป็นผู้ใช้ทั้งหมดที่ได้รับการอัปเดต" จะยังคงชี้ไปที่คอมพิวเตอร์ของคุณเพราะอยู่ในสถานะ 'ไม่ดี'

1

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

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