Linux init.d / rc.d script'lerinden gelen hata mesajları nasıl bulunur?


28

Linux'ta önyükleme sırasında çalıştırılacak bazı komut dosyaları yazdım ve bunları çeşitli kurulum şekilleriyle oynadım. Daha büyük betikler /etc/init.diçin uygun /etc/rc.d/rc?.dçalışma seviyelerini yerleştirip bağlayacağım . Küçük betikler için ekleyeceğim /etc/rc.d/rc.local. Bu işlem sorunsuz çalışıyor gibi görünüyor.

Şimdi senaryolarımdan birini değiştirdim ve başarısız oluyor. Arıza teşhisi konusunu çok zorluyorum çünkü hata çıktısını yakalayamıyor gibiyim. /var/log/messagesGeri kalanını kontrol ettim ve dürttüm /var/logama kullanım için hiçbir şey bulamadım.

Kimse biliyor mu:

  1. bu hata mesajları otomatik olarak bir yere mi aktarılır?
  2. değilse stdout / stderr komutunu init.d scriptlerimden nasıl yakalayabilirim?

Şimdiden teşekkürler.



Eğer systemd ile daha modern bir dağılıma giderseniz, bunu sizin için halledecek ve her bir servisin log log mesajlarına izin verecektir.
17'de

Yanıtlar:


17
  1. Hayır - STDOUT (kullanıyorsanız echo) veya STDERR'ye ( kullanıyorsanız ) giderler echo >&2.

  2. Komut dosyalarınızın günlüklere ve / veya sistem günlüğüne kendi başlarına yazmaları gerekir (dağıtımınız orada yardımcı olabilecek bazı init.d işlevleri içerebilir - dağıtımınızı sorunuza ekleyin).

Günlükleri için giderseniz teekomutu arayın . Syslog için giderseniz bakın logger. Onları istediğiniz şekilde birleştirebilirsiniz.



6

Mesajı hem ekrana hem de syslog'a yankılanmak için bir işlev yapabilirsiniz:

LOGGER="/usr/bin/logger -t $myScript"    # check the location of logger for your system

myEcho () {
    echo "$1"
    $LOGGER "$1"
}

Ayrıca, ayrı bir dosyaya koyabilir ve komut dosyalarınıza ekleyebilirsiniz.

#!/bin/bash
myScript=$(basename $0)
[ -r /myFunctions/myecho ] && . /myFunctions/myecho

Teşekkürler, bu aradığım şeye daha yakın. Nasıl G / Ç yönlendirileceğini biliyorum ancak kaydediciye nasıl çağrı yapıldığını bilmiyordum.
McKAMEY

Var [ -r ... ]olup olmadığını kontrol etmek için bir test var mı?
McKAMEY

Evet, dosyanın okunabilir olup olmadığını kontrol edin.
ott--

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.