Vraag Hoe weet mijn sys-beheerder dat ik mijn systeem niet opnieuw heb opgestart?


Ik kreeg een e-mail van mijn systeembeheerder met de mededeling dat ik mijn systeem moest rebooten om enkele patches toe te passen. Ik was het vergeten en na een paar uur kreeg ik nog een mail waarin stond dat ik mijn systeem nog moest herstarten.

Sindsdien heb ik mijn systeem opnieuw opgestart, maar ik ben verbaasd hoe ze zouden weten of ik mijn machine opnieuw had opgestart of niet. Kan iemand uitleggen hoe dit werkt?


35
2018-01-21 06:52


oorsprong


Misschien moet je het hem gewoon vragen? - Marco Ceppi♦
Wauw, ik heb me nooit gerealiseerd dat er zoveel manieren waren. Bedankt jongens! - nikhil


antwoorden:


Een snelle manier om dit op afstand te controleren, kan worden gedaan met SNMP (op voorwaarde dat uw SysAdmin dit in uw netwerk heeft ingesteld):

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

Hoogstwaarschijnlijk zouden de gegevens worden gepolld en opgeslagen in een netwerkbeheer / monitoringsysteem van enige soort (dat wil zeggen Nagios of Cacti).

In het geval iemand geïnteresseerd is in het spelen met de snmpwalk opdracht, zie het antwoord hier om een ​​eenvoudige SNMP-configuratie op uw systeem te installeren.


43
2018-01-21 08:24



Goed zo. Iemand hier heeft een script gemaakt dat er moeilijk uit te zien is en deze voering ziet er goed uit: D Bedankt en een upvote;) - Rinzwind
@Rinzwind Bedankt. Hier is nog een one-liner die ik soms gebruik sudo hping3 -c 2 -p 80 --tcp-timestamp -S <IPaddress> 2>&1 | grep uptime - Kevin Bowen
Elk regulier stuk bewakingssoftware kan dit doen, maar SNMP is de meest voorkomende en dit is een mooi voorbeeld. 1. - gertvdijk


Een eenvoudige methode zal zijn om de uitvoer van de te controleren uptime commando, die laat zien hoe lang je het systeem hebt gebruikt zonder een shutdown / herstart.

Voorbeelduitvoer:

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

Er staat dat mijn systeem 3 uur en 8 minuten is ingeschakeld.

De beheerder kan een shellscript instellen om gebruik van te maken uptime of om een ​​andere methode te gebruiken, zoals hierin beschreven link. Een andere methode die de beheerder kan gebruiken, is om een ​​e-mail in te stellen die moet worden verzonden bij afsluiten of opnieuw opstarten van het systeem, de details zijn hier beschikbaar link.


28
2018-01-21 07:14



Kan dit op afstand worden gedaan als ze geen toegang hadden tot mijn machine? - nikhil
Een beheerder heeft zeker toegang tot uw systeem voor administratieve doeleinden. :) - saji89
onwaarschijnlijk @ saji89 Een beheerder heeft betere dingen om te doen dan om elk systeem lokaal te controleren op uptime ... - Rinzwind
@Rinzwind, ik heb niet gezegd dat hij het zou moeten gebruiken. Ik zei alleen dat hij de toegang tot de machine zou hebben. In dit specifieke geval had de beheerder redenen om te controleren. :) - saji89
Ah oké. Maar ik heb betere dingen om te doen dan de uptime van systemen te controleren;) @ saji89 - Rinzwind


@saji89 vermeldde de uptime opdracht. Ik zal een stap lager gaan en gewoon zeggen dat de sysadmin ergens een script heeft dat verbinding maakt met elke computer en dat doet a cat /proc/uptime (of iets gelijkwaardigs). Het eerste veld van de uitvoer is de tijd, in seconden, sinds het systeem voor het laatst opnieuw werd opgestart, wat veel eenvoudiger te ontleden is dan de uitvoer van uptime. Mijn computer geeft bijvoorbeeld een eerste uptime-veld van 1441218.24 met uptime terugkerende up 16 days, 16:20. 1441218 seconden is 16 dagen plus 58818 seconden en 58818 seconden is 16 1/3 uur. 16 dagen 16 1/3 uur.

Wanneer u de maximale tijdsduur sinds het systeem kent moeten zijn opnieuw gestart, deze gegevens maken het triviaal om te controleren of het systeem sindsdien opnieuw is opgestart of niet.

Het kan worden gedaan door middel van een bewakingsinstrument zoals Nagios, of door een afzonderlijk script dat de systeembeheerder op zijn computer bewaart (of liever toegankelijk daardoorheen, zou ik kunnen veronderstellen), die beurtelings of parallel met elke computer is verbonden en de tijd weergeeft sinds laatste reboot in een of ander formaat. Dat hangt allemaal af van hoe uitgebreid het is om het te maken.


9
2018-01-21 09:24





Een andere manier, alleen voor de volledigheid, is om naar te kijken /var/log/wtmp via de laatste  opdracht. Voorbeeld:

$ 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

Deze methode is een favoriet omdat het toevallig ook het perfecte mnemonic is.

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

8
2018-01-26 01:45





Wanneer een pakket dat opnieuw opstarten vereist, is bijgewerkt via apt, een bestand genaamd reboot-required is gemaakt in /var/run/. De sysadmin kan op afstand controleren op de aanwezigheid van dit bestand om te bepalen of een reboot vereist is vanwege updates.


7
2018-01-21 14:21



Het OP werd door het sysadmin gevraagd om de computer opnieuw op te starten "om een ​​aantal patches toe te passen". In ieder geval voor mij betekent dit dat de feitelijke update gebeurt via een of ander mechanisme tijdens het opstartproces. (Misschien een opstartscript dat iets in de trant van uitvoert apt-get -y upgrade.) Dus er zou geen zijn reboot-required omdat vanuit het oogpunt van apt een reboot nog niet vereist is. - Michael Kjörling
Ik betwijfel of dit het geval is, omdat de gebruiker tweemaal opnieuw zou moeten opstarten als de updates na het installeren opnieuw moeten worden opgestart en als er geen updates zijn die opnieuw opstarten vereisen, kan het sysadmin dit script op afstand uitvoeren en op de achtergrond bijwerken . Zonder meer te weten, zou ik veronderstellen dat er een upgrade van een kernelafbeelding was (of iets anders dat opnieuw opstarten vereist), en moest de gebruiker opnieuw opstarten om de nieuwe kernel toe te passen. Maar dit is gewoon giswerk. - onik


Deze ...

om enkele patches aan te brengen

is het belangrijkste onderdeel.

Als de beheerder iets goeds is, heeft hij waarschijnlijk de updates van de HIS-computer ingesteld, zodat de pc's niet hetzelfde bestand van het web hoeven te downloaden. Als dat zo is, kan hij vanaf zijn eigen computer zien wie de patches heeft gedownload.

Hij hoeft dan alleen maar te kijken naar de IP-adressen van die systemen die de patches hebben geladen en naar degenen die dat niet deden verzenden en e-mailen. Die e-mail kan zelfs een automatisch gegenereerde mail zijn. Stel je voor dat er 500 machines zijn. Handmatig controleren van elk van hen is een verspilling van tijd als er verschillende methoden zijn die hij kan doen vanuit zijn eigen machime.

1 zeer belangrijke reden om het op deze manier te doen: een admin moet controle hebben over wat er gebeurt op de systemen die hij moet onderhouden. Dus hij moet altijd een enkel controlepunt hebben (dwz zijn eigen machine waar hij alle gereedschappen heeft) waar hij de status van elke machine kan zien.


2
2018-01-21 08:13



Mogelijk moet u opnieuw opstarten om de patches toe te passen, geen garantie dat de download alleen bij het opnieuw opstarten gebeurt. - Karthik T


Er zijn verschillende geldige methoden beschreven in de antwoorden. Inloggen en het controleren van de uptime zou vreemd zijn voor een groot bedrijf, maar mogelijk voor een kleiner bedrijf. Het sysadmin had via SNMP kunnen controleren, maar daar kon hetzelfde "probleem" -argument worden gebruikt.

De meest waarschijnlijke situaties zijn, wat mij betreft:

  1. De sysadmin voert een soort controlesoftware uit, waarschijnlijk Nagios, die clusters van computers controleert op problemen. Iets als de NRPE-plug-in zal voor de meeste systemen worden gebruikt en kan u uptime tonen (behalve schijf, ingelogde gebruikers, enz.).
  2. Een vergelijkbare methode kan worden gebruikt om te controleren wat waarheen wordt uitgevoerd. Als de te updaten patches kunnen worden gecontroleerd (welke kernel u gebruikt), zal het script "zijn alle gebruikers bijgewerkt" nog naar uw computer wijzen om in een 'slechte' staat te zijn.

2
2018-01-21 08:56





Als het systeem is verbonden met een netwerk dat hij bestuurt, kan de sysadmin eenvoudig naar de switch of de DHCP-server kijken om te zien hoelang uw netwerkverbinding actief is geweest. Dat zal hem ook vertellen dat je nog niet bent herstart.


1
2018-02-09 12:19