• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Programm für Lirc und Log-File

Hi zusammen!
Ich habe folgendes Problem. Ich habe auf meinem Notebook SuSE 10.1 drauf und betreibe mit Lirc und ner Medion X10 einigen Anwendungen davon!
Wenn ich aber den Funkempfänger nicht angeschlossen habe dann schaufelt mir Lirc unter /var/log/lircd das Log-File mit Warnhinweisen voll bis die Datei etwa 2 GB groß ist und dann hängt sich lirc auf.
Dann muss ich die Log-File löschen , neu anlegen und Lirc über rclirc restart neu starten.

Jetzt würde ich gerne in KDE Autostart ein Bash-Script legen das mir z.B überprüft wie groß mittlerweile die Lirc-logfile ist, diese bei ner bestimmten Größe löscht, dann neu anlegt und den Runlevel von Lirc neu startet!
Oder das Script überprüft ob sich der Runlevel von Lirc aufgehängt hat, dann löscht es das log-File, erstellt es neu und startet das Runlevel von Lirc neu! Dieses natürlich dann alles als root.

Ich hab leider von programmieren keine Ahnung, kann mir da vielleicht bitte von euch jemand helfen?
Wäre euch sehr dankbar! Vielleicht kann man das mitloggen ja auch irgendwie bei Lirc abschalten, denn ich vermute das dies irgendwie durch das Runlevel irgendwie mit aktiviert wird!

Besten Dank im vorraus

Johnny
 
Also ich hab jetzt selber n bisschen rumgetüfftelt! Hier mal der Quelltext:

Code:
#!/bin/bash
# Variablen erstellen
FS=                        # Leere Variable für die Dateigrösse
DATEI=20000000     # Variable für den Vergleich erzeugen und mit Wert belegen

# prüfen ob Log-Datei lircd vorhanden ist
if (test -f /var/log/lircd);
then

# Dateigrösse von /var/log/lircd ermitteln und in die Variable FS schreiben.
FS=$(ls -l /var/log/lircd | tr -s " " | cut -d " " -f 5)
fi

if (test $FS -gt $DATEI);then
#echo "Die Datei ist zu groß und wird jetzt gelöscht ..."
kdesu rm /var/log/lircd
fi

# Es wird geprüft ob der Funkempfänger Medion X10 angeschlossen ist
if ( ps x | grep lirc | grep -v grep );then
kdesu killall lircd
kdialog --passivepopup "Der Lirc-Deamon wurde beendet !!!!" 4

elif ( lsusb | grep X10 | grep -v grep );then
kdesu rclirc start
/usr/bin/irexec -d /etc/lircrc
/usr/bin/irxevent &
kdialog --passivepopup "Das Programm IREXEC wurde gestartet" 3
else
exit
fi

Das Script funktioniert auch weitgehend so wie ich mir das vorstelle, leider nervt es etwas immer beim Lirc-start, beim löschen der Log-File und beim killen des Lirc-Prozesses das Root-Passwort eingeben zu müssen.
Was haltet ihr von dem Script? Ist das ok oder kann man das alles vereinfachen?
Kann ich die Passwortabfrage umgehen?
Besteht auch die Möglichkeit das im z.b. 10Sekundenrythmus geprüft wird ob der Empfänger angeschlossen wurde bzw abgezogen wurde und dann der Prozess gestartet bzw beendet wird? Kann man das in bash umsetzen?

Danke im vorraus

Johnny
 
Oben