Nieuws:

We zijn er weer.

Na lange tijd van afwezigheid zijn we er weer  :laugh:
We hebben alle wachtwoorden gereset, je oude wachtwoord werkt niet meer.Je moet via het "wachtwoord vergeten"-linkje je wachtwoord resetten. Je krijgt hiervoor een mailtje op het adres dat je bij ons geregistreerd hebt.

De komende tijd zijn we nog druk bezig om de rest van de site op te bouwen, dus het kan zijn dat sommige onderdelen (tijdelijk) niet werken.

Welkom, Gast. Alsjeblieft inloggen of registreren.
Heb je de activerings-mail niet ontvangen?

Auteur Topic: Script verbeteren: schijfcontrole na afsluiten ipv. bij opstarten  (gelezen 1048 keer)

Offline Thomas de Graaff

  • Lid
  • Steunpunt: Nee
Wie helpt?

Met onderstaande scriptjes kan je ervoor zorgen dat de schijfcontrole na het afsluiten plaatsvind, in plaats van bij het opstarten. Ik kan me voorstellen dat er best wat mensen zijn die dat handig vinden. Misschien is het leuk onderstaande scripts te verbeteren. Bijvoorbeeld door één script ipv. drie losse, en dat met sudo update-rc.d kan worden toegevoegd aan de runlevels? En er kan waarschijnlijk nog veel meer beter. :) Goede integratie in het systeem. En als het goed zou werken, dan is er misschien zelfs wel een pakketje van te maken voor in de repo's oid.

Proof of concept is er.


/etc/init.d/diskcheck0:
#! /bin/sh

reboots=30

if [ -e /diskcheck ]; then
        teller=`/bin/cat /diskcheck`
else
        teller=0
fi

teller=$((teller + 1))
echo $teller > /diskcheck

if [ $teller -ge $reboots ]; then
        /bin/touch /forcefsck
        /sbin/telinit 6
fi

/etc/init.d/diskcheck6
#! /bin/sh
reboots=30
if [ -e /diskcheck ]; then
        teller=`/bin/cat /diskcheck`
else
        teller=0
fi

teller=$((teller + 1))
echo $teller > /diskcheck

if [ $teller -ge $reboots ]; then
        /bin/touch /forcefsck
        /bin/touch /reboot
        /sbin/telinit 6
fi

/etc/init.d/diskcheck2:
#!/bin/sh
reboots=30
if [ `/bin/cat /diskcheck` -ge $reboots ];then
        echo "0" > /diskcheck
        if [ -e /reboot ]; then
        /bin/rm /reboot
        else
        /sbin/shutdown -h now
        fi
fi

Wijzig in de scripts "reboots = 30" in het aantal reboots tot controle.
Maak ze executable. Maak vervolgens de volgende symbolische links:

ln -s /etc/init.d/diskcheck /etc/rc0.d/S05diskcheck0
ln -s /etc/init.d/diskcheck2 /etc/rc6.d/S05diskcheck6
ln -s /etc/init.d/diskcheck3 /etc/rc2.d/S40diskcheck2
« Laatst bewerkt op: 2010/09/28, 15:38:07 door Thomas de Graaff »


Offline SeySayux

  • Lid
    • SeySayux.net
  • Steunpunt: Nee
Re: Script verbeteren: schijfcontrole na afsluiten ipv. bij opstarten
« Reactie #2 Gepost op: 2010/08/30, 08:36:35 »
Hmm, afaik is die optie (30 keer of zo, ik weet het niet meer zeker) in het filesystem zelf opgeslagen en wordt het als deel van mount(1) uitgevoerd...

- SeySayux
I use a Unix-based system, that means I'll get laid as often as I have to reboot.
LibSylph
SeySayux.net

Offline TonH

  • Promotieteam
  • Steunpunt: Ja
Re: Script verbeteren: schijfcontrole na afsluiten ipv. bij opstarten
« Reactie #3 Gepost op: 2010/08/30, 11:42:54 »
Dat staat er ook. Als ik het goed lees wordt deze check hiermee bij het afsluiten uitgevoerd waardoor de teller weer op 0 komt te staan. Je hoeft dan dus niet bij het opstarten te wachten.
Je kunt het ook afbreken dat wordt die ook niet uitgevoerd bij het opstarten maar dan krijg je bij het opnieuw afsluiten opnieuw de vraag voor schijfcontrole.
Kan handig zijn als je bij het opstarten nooit wil wachten op de schijfcontrole.