Sistem yöneticim sistemimi yeniden başlatmadığımı nasıl biliyor?


35

Sistem yöneticimden, bazı yamaları uygulamak için sistemimi yeniden başlatmam gerektiğini söyleyen bir e-posta aldım. Bunu unutmuştum ve birkaç saat sonra, sistemimi yeniden başlatmadığımı söyleyen başka bir posta aldım.

O zamandan beri sistemimi yeniden başlattım ancak makinemi yeniden başlatıp başlatmama konusunda nasıl bileceklerine şaşırdım. Birisi bunun nasıl çalıştığını açıklayabilir mi?


10
Belki de ona sormalısın?
Marco Ceppi

1
Vay canına, çok fazla yol olduğunun farkında değildim. Teşekkürler beyler!
nikhil

Yanıtlar:


43

Bunu uzaktan kontrol etmenin hızlı bir yolu SNMP kullanarak yapılabilir (SysAdmin'iniz bunu ağınızda ayarladıysa):

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

Büyük olasılıkla, veriler bir tür ağ yönetim / izleme sisteminde sorgulanacak ve saklanacaktır (Nagios veya Cacti gibi).

Herhangi birinin snmpwalkkomutla uğraşmakla ilgilenmesi durumunda , sisteminizde temel bir SNMP yapılandırması almak için buradaki cevaba bakın .


Güzel bir. Burada biri bakımını yapmak için biraz zor görünen bir senaryo oluşturdu ve bu yazı güzel görünüyor: D Teşekkürler ve bir artığa sahip;)
Rinzwind

@ Rinzwind Teşekkürler. İşte bazen kullandığım başka bir linersudo hping3 -c 2 -p 80 --tcp-timestamp -S <IPaddress> 2>&1 | grep uptime
Kevin Bowen

Her düzenli izleme yazılımı bunu yapabilir, ancak SNMP en yaygın olanıdır ve bu güzel bir örnek. +1.
gertvdijk

28

uptimeKomutun çıktısını kontrol etmek için basit bir yöntem olacaktır; bu da sistemi kapatma / yeniden başlatma olmadan ne kadar süredir çalıştırdığınızı gösterir.

Örnek çıktı:

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

Sistemimin 3 saat 8 dakika açık olduğunu söylüyor.

Yönetici, uptimebu bağlantıda ayrıntılı olarak anlatıldığı gibi , ya da başka bir yöntemi kullanmak ya da kullanmak için bir kabuk komut dosyası oluşturabilir . Yöneticinin faydalanabileceği diğer bir yöntem ise, sistem kapandığında gönderilecek veya yeniden başlatılacak bir e-posta ayarlamaktır, detaylar bu linkte mevcuttur .


Makineme giriş yapabilmeleri için bu işlem uzaktan yapılabilir mi?
nikhil,

1
Bir yönetici, kesinlikle, yönetimsel amaçlarla sisteminize erişebilir. :)
saji89

5
unlikely @ saji89 Bir yönetici daha sonra her sistemi yerel olarak çalışma süresi için kontrol etmek için yapacak daha iyi şeyler var ...
Rinzwind

2
@ Rinzwind, kullanması gerektiğini söylemedim. Sadece makineye girebileceğini işaret ediyordum. Bu özel durumda, yönetici kontrol etmek için nedenler vardı. :)
saji89

1
Ah tamam. Fakat daha sonra sistemlerin çalışma süresini kontrol etmek için yapacak daha iyi işlerim var;) @ saji89
Rinzwind

9

@ saji89 komutundan bahsetti uptime. Bir adım daha aşağıya ineceğim ve basitçe sysadmin'in her bilgisayara bağlanan ve bir cat /proc/uptime(veya eşdeğeri bir şey) yapan bir komut dosyası bulunduğundan emin olacağım . Çıktının ilk alanı, sistemin en son yeniden başlatılmasından bu yana saniye cinsinden zamandır, bu da ayrıştırmaktan çok daha kolaydır uptime. Örneğin, bilgisayarım ilk çalışma süresi alanını verir 1441218.24ile uptimedönen up 16 days, 16:20. 1441218 saniye, 16 gün artı 58818 saniye ve 58818 saniye, 16 1/3 saattir. 16 gün 16 1/3 saat.

Sistemin yeniden başlatılması gerektiğinden bu yana geçen maksimum süreyi biliyorsanız , bu veriler sistemin o zamandan beri yeniden başlatılıp başlatılmadığını kontrol etmeyi önemsiz kılar.

Nagios gibi bir izleme aracıyla ya da sysadmin'in bilgisayarında tuttuğu ayrı bir komut dosyası (ya da oldukça erişilebilir), sırayla veya paralel olarak her bir bilgisayara bağlanan ve zamanını basan yapılabilir. son biçimde bazı formatlarda yeniden başlatıldığından beri. Bunların hepsi ne kadar özen gösterdiğine bağlı.


8

Başka bir yol, sadece şeyiyle uğruna, bakmaktır /var/log/wtmparacılığıyla son komutu. Örnek:

$ 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

Bu yöntem favoridir, çünkü mükemmel bir anımsatıcı olur.

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

7

Yeniden başlatma gerektiren bir paket aracılığıyla güncellendiğinde apt, adında bir dosya reboot-requiredoluşturulur /var/run/. Sysadmin, güncellemeler nedeniyle yeniden başlatmanın gerekip gerekmediğini belirlemek için bu dosyanın varlığını uzaktan kontrol edebilir.


OP, sysadmin tarafından bilgisayarı “bazı yamaları uygulamak için” yeniden başlatması istendi. En azından benim için bu, gerçek güncellemenin önyükleme işlemi sırasında bir mekanizma aracılığıyla gerçekleştiğini ima ediyor . (Belki de satırları boyunca bir şeyler yürüten bir boot betiğidir apt-get -y upgrade.) Dolayısıyla reboot-required, apt'nin bakış açısından bir yeniden başlatma gerekli olmadığından hiçbir şey olmazdı .
Ocak'ta CVn

2
Durumun bu olduğundan şüpheliyim, çünkü güncellemeler yüklendikten sonra yeniden başlatma gerektiriyorsa kullanıcının iki kez yeniden başlatılması gerektiğine ve yeniden başlatma gerektiren güncelleme yoksa, sysadmin arka planda aynı komut dosyasını çalıştırabilir ve güncelleme yapabilir. . Daha fazla bilgi olmadan, bir çekirdek görüntü yükseltme (veya yeniden başlatma gerektiren başka bir şey) olduğunu ve kullanıcının yeni çekirdeği uygulamak için yeniden başlatması gerektiğini tahmin ediyorum. Ama bu sadece bir tahmin çalışması.
onik

2

Bu ...

bazı yamalar uygulamak

anahtar kısmıdır.

Yönetici herhangi bir iyiyse, muhtemelen HIS makinesindeki güncellemeleri de ayarladı, böylece bilgisayarın aynı dosyayı web'den indirmesine gerek kalmadı. Öyleyse yamaları indiren kendi makinesinden görebilir.

O zaman sadece yamaları yükleyen sistemlerin IP adreslerine bakmak ve göndermeyenlere e-posta göndermek ve e-postayla göndermek zorunda. Bu e-posta, otomatik olarak oluşturulan bir posta bile olabilir. 500 makine olduğunu hayal edin. Her birinin manuel olarak kontrol edilmesi, kendi makinesinden yapabileceği çeşitli yöntemler varsa, zaman kaybıdır.

1 bu şekilde yapmak için çok önemli bir neden: bir yöneticinin sürdürmesi gereken sistemlerde neler olup bittiğini kontrol etmesi gerekir. Bu yüzden her zaman tek bir kontrol noktasına sahip olmalıdır (yani tüm aletlere sahip olduğu kendi makinesini), herhangi bir makinenin durumunu görebilir.


3
Yamaları uygulamak için yeniden başlatmanız gerekebilir, indirme işleminin yalnızca yeniden başlatma sırasında gerçekleşeceği garantisi yoktur.
Karthik T

2

Cevaplarda açıklanan birkaç geçerli yöntem vardır. Giriş yapmak ve çalışma süresini kontrol etmek büyük bir şirket için garip, ancak daha küçük bir şirket için yapılabilir. Sysadmin SNMP üzerinden kontrol ediyor olabilirdi, fakat aynı "sorun" argümanı orada da kullanılabilirdi.

En olası durumlar, ilgilendiğim kadarıyla:

  1. Sysadmin, muhtemelen kümelerdeki problemleri kontrol eden Nagios adında bir çeşit kontrol yazılımı çalıştırıyor. NRPE eklentisi gibi bir şey çoğu sistemde kullanılacak ve çalışma süresini gösterebilir (disk dışında, giriş yapmış kullanıcılar vb.).
  2. Neyin nerede çalıştığını kontrol etmek için benzer bir yöntem kullanılabilir. Güncellenecek yamalar kontrol edilebilirse (hangi çekirdeği kullanıyorsunuz), "tüm kullanıcılar güncellendi" komut dosyası bilgisayarınızda "kötü" durumda olduğunu göstermeye devam edecektir.

1

Sistem kontrol ettiği bir ağa bağlıysa, sysadmin, ağ bağlantınızın ne kadar süredir aktif olduğunu görmek için anahtara veya dhcp sunucusuna bakabilir. Bu aynı zamanda yeniden başlatmadığınızı söyleyecektir.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.