Linux'ta kapanmaları kaydeden bir kayıt var mı?


38

Her kapatıldığında Linux'ta kayıt yapan bir günlük dosyası olup olmadığını merak ediyordum.

Sormamın nedeni, dizüstü bilgisayar pilimin belirli koşullar altında ne kadar süre kalacağını gösteren bazı testler yapıyorum. Dizüstü bilgisayarım, yaklaşık 10 dakika pil gücü kaldığında otomatik olarak kapanacak şekilde yapılandırılmıştır; bu nedenle, bilgisayar kapatıldığında kayda değer bir yerde bir günlük dosyası varsa, bu durum benim testimi çok daha kolay hale getirir.

Ubuntu 10.04 kullanıyorum. Teşekkürler!

Yanıtlar:


15

/var/log/messagesDosya gerçekten örnek madeninde için içinde kapatmalar ilgili bir şey, sahip olmalıdır (CentOS 5) böyle hattına sahip:

Jul 18 23:00:13 nero shutdown[2649]: shutting down for system halt
...
Jul 18 23:00:27 nero kernel: Kernel logging (proc) stopped.
Jul 18 23:00:27 nero kernel: Kernel log daemon terminating.

Kayıtların oraya gittiğinden emin olmak için sizin /etc/syslog.confya /etc/rsyslog.confda eşdeğerinizi kontrol edin . Günlük dosyalarını okumak için muhtemelen kök ayrıcalıklarına ihtiyacınız olacak.

Ayrıca, kendiliğinden kapanmadığı halde, "son" komutu yeniden başlatmayı bildirmelidir.

Son kapattığınız zamandaki kayıtlarda gerçekten hiçbir şey yok mu?

Testiniz için, yalnızca pilin bildiği veya doğru olamayacağı bilgiler nedeniyle, bilgisayarınızın yalnızca 10 dakika kalmış olduğunu bildiğini unutmayın. Kesintileri beklemek yerine, ACPI bilgilerine doğrudan bakabilirsiniz. Dizüstü bilgisayarımda işte burada:

/proc/acpi/battery/BAT0/

Orada, "durum" ve "bilgi" dosyaları ilginç görünüyor. Ne kadar çabuk düştüğünü görmek için dizüstü bilgisayarınızı çeşitli koşullar altında çalıştırırken kalan kapasiteyi durum dosyasında izleyebilirsiniz.


3
Kaçırmıyorsam, / var / log / messages'de herhangi bir "kapatma" mesajı göremiyorum. "Çekirdek günlüğü (proc) durdu" mesajı bazen görünür, fakat her zaman değil. Ancak, çalışan last -xçalışır. Bu komut aşağıdakine benzeyen bir satır görüntüler: shutdown system down 2.6.32-23-generi Sun Jul 25 09:12 - 19:00 (-14815+-13: Batarya bilgi ipucu için teşekkürler. Sistemimde de bu var, bu yüzden kontrol etmem gerekecek! Her 5 saniyede bir bu dosyaları güncelliyor gibi görünüyor. Teşekkürler!
Michael,

Tekrar teşekkürler. Sonuçlarım burada: mangstacular.blogspot.com/2010/07/…
Michael


5

İlk önce bunun daha eski bir konu olduğunu söyleyerek başlayayım. Ben sadece yorum yapıyorum, böylece bunu internette dolaşırken (bugün yaptığım gibi) net bir cevap alacak.

İkinci olarak, aşağıdaki komutun kötü bir uygulama olduğunu ve "kedinin yararsız kullanımları" kategorisine girdiğini lütfen unutmayın ...

cat /var/log/messages | grep "`LC_ALL=en_en.utf8 date +"%b %e"`"

Bu satır şu şekilde değiştirilmelidir:

grep "`LC_ALL=en_en.utf8 date +"%b %e"`" /var/log/messages

grep ve bu konuda çoğu unix / linux komutları (sed, awk, vb ...) kedilerin dosya içeriğini okumasını gerektirmez. Komuttan sonra dosya yolunu ve adını bir argüman olarak iletmek yeterlidir. Bir boru ve başka bir harici komut (cat) eklemek sadece zaman ve kaynaklarla harcanır.

Son olarak, sistem kapanmalarının ve / veya yeniden başlatmaların bir kaydını nerede bulacağınızla ilgili olarak, son komutu tam olarak bunun kastedildiği şekilde kullanın. Tüm giriş / çıkış girişleri için / var / log / wtmp günlük dosyasını okur. Kapamalar ve yeniden başlatmalar aslında sistem düzeyinde bir giriş / çıkış olayı olduğu için buraya kaydedilirler. Aynı kök konsol kapatma için de geçerlidir, bu bir oturum kapatma olayıdır.

Örnek:

last -5 reboot shutdown root

Bu, wtmp günlüğündeki son 5 yeniden başlatma, kapatma ve kök (konsol kapatma dahil) girişlerini verecektir.

Sonuç:

reboot    ~                         Mon Mar 23 14:51
shutdown  ~                         Mon Mar 23 14:49
root      console                   Mon Mar 23 14:49 - shutdown  (00:00)
reboot    ~                         Mon Mar 16 09:54
shutdown  ~                         Thu Mar 12 17:41

Umarım bu, bu konuya rastlayan herkese yardımcı olur. :-)


Alternatif olarak basitçe last -xveya last -F -R -x runlevel. Ubuntu’da batarya izleme amacıyla grep hooks /var/log/pm-suspend.logaskıya alma ve devam etme durumlarının gösterilmesi de faydalı olabilir. Maalesef, pm-powersave.log, AC gücünün bağlı olduğu zamanları saklamaz (kendi kancanızı eklemiyorsanız). help.ubuntu.com/community/PowerManagement/ReducedPower okunmaya değer olabilir.
Cedric Knight

UUoC ile ilgili olarak, $ CPU zamanı << $ Brain zamanı ...
MikeP 21 Ağustos'ta

1
"Kedinin yararsız kullanımlarından" bahseden her insan muhtemelen, dünyadaki tüm bilgisayarlar tarafından kedinin yararsız kullanımına harcadığı toplam CPU harcamasından daha fazla zaman harcıyordur (ve bazen bir yan etki olarak güzel cevaplarını gereksiz yere kabartırlar - - bunun gibi)
ndemou

4

/ Var / log / messages dosyası bu bilgiyi içermelidir


Bu dosyada kapatmayla ilgili hiçbir şey görmedim. :( Bilgisayarı kapattığım zaman damgasını kullanarak bu dizindeki diğer tüm dosyaları greplemeyi denedim, ama şans yok:grep -r "Jul 24 14:" /var/log/*
Michael

Dosya linux nane arkadaşı 17'de mevcut değil.
Eric Wang

2

Bilgisayarınızın geçmişte ne kadar süre kaldığını takip etmek istiyorsanız, zaman aşımına uğramış gibi bir şey kullanabilirsiniz.

bilgisayarınızın ne kadar süredir çalıştığını gösteren kayıtlar adı verilen bir programla birlikte gelir.


1

İşte o günden itibaren tüm mesajları listelemek için bir liner:

cat /var/log/messages | grep "`LC_ALL=en_en.utf8 date +"%b %e"`"

Bu CentOS'ta test edildi, yani YMMV.

Ve elbette var last rebootve last shutdown(belirtildiği gibi), ama bu benim ihtiyaçlarım için çok basit (sadece tarihler sağlar).


1

last reboot CentOS 6.7'de benim için çalıştı.

Yılı çıktıda göstermek için, bir yıldan fazla kayıt değerine sahipseniz, bu mantıklı

last -F reboot

-F anahtarının Solaris gibi bazı sistemlerde çalışmadığını öğrenmeme rağmen. Görünüşe göre GNU’nun sonuncusunun bir parçası.

Https://unix.stackexchange.com/a/97597/174520 'e teşekkürler


0

Günlük yoksa, kapatma betiğine bazı 'tarih >> mylog' eklemeye çalışabilirsiniz (bazı bölümlerde rc.shutdown olarak adlandırılır)

veya, ihtiyaç duyulan caydırmanın bir yolu da yoktur. koşmak:

while [ 1 ];do sleep 5;date>mylog;sync;done

ve bir sonraki oturumda mylog kuyruk.

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.