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.