file system check automatisieren

  • Ich möchte den Thread noch einmal aufwärmen, da noch keine befriedigende Lösung vorliegt.
    Also noch einige Gedanken dazu:
    cron fällt aus, da nicht sicher ist, ob der VDR überhaupt an ist, wenn der Job laufen soll.
    Der ideale Zeitpunkt ist immer dann, wenn der VDR nix zu tun hat.
    Das ist dann der Fall, wenn er abschalten soll.
    Ein Ansatz wäre es, mittels Autotimer eine Aufnahme zu programmieren, die im gewünschten Turnus ausgestrahlt wird und die man ansonsten nicht braucht.
    Ein Skript in den shutdown-hooks prüft dann das Vorhandensein des Aufnahmeverzeichnisses. Gibt es das nicht, passiert auch nichts. Gibt es das Verzeichnis, wird es gelöscht und ein reboot mit fsck-Schalter (shutdown -rF) ausgelöst.
    Man muss eigentlich nur aufpassen, dass der Hook erst nach der Abfrage auf laufende VDR-Erweiterungen (vdrconvert, noad o.ä.) und vor dem Special-Shutdown vom nvram-wakeup aufgerufen wird.
    Gruß
    Claus

    vdr-az: ASUS P5B-E; Celeron 430@1800; 512 MB; TT S2-1600; 3*2TB WD als RAID1+5; DVD-RW; Gainward GF210; 24"-TFT an DVI; ct-vdr-7 mit vdr-sxfe
    vdr-wz: ersetzt durch Medion E24003; Twin-HD-Tuner; 500 GB; 20/0,4W; 26" LCD-TV an HDMI

  • Zitat

    Original von thc
    cron fällt aus, da nicht sicher ist, ob der VDR überhaupt an ist, wenn der Job laufen soll.


    Naja, dann programmiere mit cron eine Aufwachzeit (z.B. 04:30), dann ist der vdr zu diesem Zeitpunkt an!


    Zitat

    Ein Ansatz wäre es, mittels Autotimer eine Aufnahme zu programmieren, die im gewünschten Turnus ausgestrahlt wird und die man ansonsten nicht braucht.


    Halte ich für Blödsinn- was passiert, wenn die Sendung abgesetzt wird? Und warum soll er das evtl. täglich aufnehmen, wenn einmal im Monat ein fsck laufen soll?


    Mein ja nur...

    Glotze: yaVDR (ASRock Q1900M, 4GB RAM, DD Cine S2 V6.5, ZOTAC GT630 (Rev. 2)
    Server: HP ProLiant MicroServer G8, VMware ESXi 5.5 :P

  • Zitat

    Originally posted by thc
    Ich möchte den Thread noch einmal aufwärmen, da noch keine befriedigende Lösung vorliegt.
    Also noch einige Gedanken dazu:
    <snip>


    Und was spricht dagegen einfach bei jedem Ausschalten mit fstune zu überprüfen ob der Mount-count erreicht ist und dann den check zu erzwingen?


    Das ist doch das einfachste und wahrscheinlich zuverlässigste.


    Klar muss man vorher sicherstellen, dass die einzelnen Partitionen read-only gemounted sind, aber das Problem hat man bei anderen Lösungen ja auch.


    Um das Readonly-Problem zu lösen könnte man in shutdown-script ja auch feststellen ob ein Check fällig ist und dann einen Neustart erzwingen. Wie man allerdings einen Neustart erzwingt weiss ich nicht. :versteck


    Tschüss Jo

    yaVDR 0.7, ASRock Q1900M, Zotac GT630 1GB, DD Cine S2 V6.5, 2x2GB, 64 GB SSD, PicoPSU 80W, MeanWell Netzteil 90W mit eingebautem Tinnitus, HAMA MCE-Remote Control

  • Servus,


    Zitat

    Ich möchte den Thread noch einmal aufwärmen, da noch keine befriedigende Lösung vorliegt.


    Ähm, doch. Check beim runterfahren, wenn ein fsck innerhalb der nächsten 24h anstünde. So einfach. Und genau so implementiert bei LinVDR 0.7.


    Zitat

    Der ideale Zeitpunkt ist immer dann, wenn der VDR nix zu tun hat.
    Das ist dann der Fall, wenn er abschalten soll.


    Genau, weshalb dann der fsck beim shutdown durchgeführt wird. Und wenn du die Kiste täglich um 2 Uhr zum EPG-Scan weckst, hast du gute Chancen, dass der FSCK am Ende des EPG-Updates kommt.


    Zitat

    Ein Ansatz wäre es, mittels Autotimer eine Aufnahme zu programmieren


    Nein, das wäre kein Ansatz. Wirklich nicht.


    Viele Grüße, Mirko

  • im prinziep hat doch cooper das problem gelöst und hat auch das notwendige skript dazu gepostet.
    Kann man das eigentlich direkt verwenden (copy&paste :D ) oder war das nur ne vermutung/nur für linvdr 0.7 (wann kommts denn *drauf freu*) gültig?
    momentan komm ich nicht dazu es zu testen/bzw bin zu faul dazu, da ich noch zig andere sachen machen muss (schule, arbeiten im haus)....

    VDR-Server: AMD Athlon X2 5200+ ,ASUS M3N78 (Geforce8200), 2x 2GB RAM, 2xTT DVB-C 1501, 3x WD AV-GP 2000GB in RAID5, yaVDR 0.5
    Client 1: Desktop PC, Win7

  • Das Listing war nur ein Auszug aus dem, was derzeit in der 0.6.2 drin ist. Ich hab es halt um die Teile von Hand bereinigt, die auf einem LinVDR 0.6 nicht laufen können. Ist also auf LinVDR 0.6 ungetestet, aber man sieht ja, was man machen muss. Könnte sein, dass man evtl. noch das eine oder andere Programm austauschen müsste.


    Viele Grüße, Mirko

  • Hi,


    gehe ich richtig mit der Annahme das die 0.62 eine "interne" Version ist?

    HD DVB-C System / Ubuntu 14.04 x64 / Kernel 3.13.0-48 x64; VDR 2.2.x; VDRadmin 3.6.10 / ACPI Wakeup

    SoftHD-Device GIT / Vdpau / Nvidia 337.25

    ASUS AT5IONT-I; Atom D525; 4GB; Nvidia GT218; 1x DD Cine C/T v6; 1x DD DuoFlex C/T v2; (20~40 Watt)

  • Das ist eine Development-Version. Mehr nicht. Du wirst halt wohl nicht upgraden können, und das Dingen hat auch ein paar Bugs. Aber wer's sich ansehen will, warum nicht? Mit Erscheinen der 0.7 wird halt in jedem Fall eine Neuinstallation fällig.


    Viele Grüße, Mirko

  • hier mal noch meine version...


    Code
    cur=`tune2fs -l /dev/hda1 | grep "Mount count" | awk '{print $3}'`
    max=`tune2fs -l /dev/hda1 | grep "Maximum mount count" | awk '{print $4}'`
    
    
    if [ $cur -eq $[$max-1] ]
    then
        mount -no remount, ro /
        fsck.ext3 /dev/hda1 -y -f -c -v
        mount -no remount, rw /
    fi


    zeilt halt auf die version mit max mount count ab, nicht auf die mit dem datum... ist aber noch nicht wirklich getestet..


    aber die idee ist wirklich gut den check am ende durchzuführen... das hat mich gleichma dazu angeregt schnell was zu basteln


    Gruß,
    Thomas


  • Hi!


    Habe mal die relevanten Sachen in ein Test.Script geschrieben, und noch ein Fehler bei meinen System gefunden:


    Code
    ./test: line 7: [: -lt: unary operator expected


    Wobei in Zeile 7 folgendes steht:


    Code
    if [ `date -d "$NextFsck" +%s` -lt $[`date +%s`+86400] ]; then



    Das bezieht sich doch sicherlich auf das Programm date. Dieses ist bei mir auf die busybox verlinkt.
    Wie kann ich das mit debtool herunterladen?
    ein "debtool -s date" bringt viele Ergebnisse, aber ebend nicht das einfache Programm date als Ergebnis.


    Kann mir vielleicht jemand "date" hier zur Verfügung stellen?




    Uwe


    PS: grep habe ich ausgetauscht!


    Code
    ./grep -V
    grep (GNU grep) 2.4.2
    
    
    Copyright 1988, 1992-1999, 2000 Free Software Foundation, Inc.
    This is free software; see the source for copying conditions. There is NO
    warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
  • Zitat

    Original von Uwe


    Kann mir vielleicht jemand "date" hier zur Verfügung stellen?


    Klar, funzt unter linvdr. Wenn Du Deinen Test abgeschlossen hast, haben wir ja dann eine Lösung, um fsck beim Ausschalten ausführen zu lassen ;D


    Zumindest für alle Ungeduldigen, die nicht auf linvdr 0.7 warten können.


    Nils


  • Hi, Danke für das File!


    Nun funktioniert das Script (von cooper) auch bei mir. :]


    starter: Das ist kein neues Script oder so, sondern nur das von cooper, hier auf Seite 1. Ich habe mir nur ein "Test-Script" gemacht, um zu sehen, ob alles richtig ausgeführt wird. ;)




    Uwe

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!