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