Hallo zusammen,
ich hab mal ein kleines Script mit Maßnahmen gebastelt wenn kein NFS-Share für /srv/vdr vorhanden ist.
Code: \etc\init.d\chknfs
#! /bin/sh
### BEGIN INIT INFO
# Provides: chknfs
# Required-Start: $remote_fs $network $syslog $vdr
# Required-Stop: $remote_fs $network $syslog $vdr
# Default-Start: 2 3 4 5
# Default-Stop:
# Short-Description: Checks availability of NFS share for VDR
# Description: Checks availability of NFS share for VDR
#
### END INIT INFO
# Author: JRG
#
# Do NOT "set -e"
# Load the VERBOSE setting and other rcS variables
. /lib/init/vars.sh
# Define LSB log_* functions.
# Depend on lsb-base (>= 3.2-14) to ensure that this file is present
# and status_of_proc is working.
. /lib/lsb/init-functions
# PATH should only include /usr/* if it runs after the mountnfs.sh script
PATH=/sbin:/usr/sbin:/bin:/usr/bin
DESC="Check if NFS share for VDR is available"
NAME=chknfs
SCRIPTNAME=/etc/init.d/$NAME
#
# Function that starts the daemon/service
#
if [ -f /srv/vdr/video/nfs-server-missing ]
then
logger -i \($0\) Datei /srv/vdr/video/nfs-server-missing VORHANDEN, warte noch 60 Sekunden
sleep 60
if [ -f /srv/vdr/video/nfs-server-missing ]
then
logger -i \($0\) Datei /srv/vdr/video/nfs-server-missing IMMER NOCH VORHANDEN, starte Checks
if ping -q -c5 10.0.0.53; then
logger -i \($0\) ping to 10.0.0.53 OK
if [ -f /root/nfs-restart-`date -d "today" +"%Y-%m-%d-%H"` ]
then
logger -i \($0\) nfs server on FhemRaspi heute um `date -d "today" +"%H Uhr"` schon mal neu gestartet
else
logger -i \($0\) starte nfs server on FhemRaspi neu
touch /root/nfs-restart-`date -d "today" +"%Y-%m-%d-%H"`
ssh root@fhemraspi service nfs-kernel-server restart
logger -i \($0\) starte VDR-Office neu
reboot
exit 1
fi
if [ -f /root/FhemRaspi-restart-`date -d "today" +"%Y-%m-%d-%H"` ]
then
logger -i \($0\) FhemRaspi heute um `date -d "today" +"%H Uhr"` schon mal neu gestartet
logger -i \($0\) Fahre VDR-Office runter bis zum nächsten timer start
initctl stop vdr
poweroff
else
logger -i \($0\) starte FhemRaspi neu
touch /root/FhemRaspi-restart-`date -d "today" +"%Y-%m-%d-%H"`
ssh root@fhemraspi reboot
logger -i \($0\) starte VDR-Office neu
reboot
exit 1
fi
else
logger -i \($0\) ping to 10.0.0.53 NICHT OK
if [ -f /root/VDR-Office-restart-`date -d "today" +"%Y-%m-%d-%H"` ]
then
logger -i \($0\) VDR-Office heute um `date -d "today" +"%H Uhr"` schon mal neu gestartet
logger -i \($0\) Fahre VDR-Office runter bis zum nächsten timer start
initctl stop vdr
poweroff
else
logger -i \($0\) starte VDR-Office neu
touch /root/VDR-Office-restart-`date -d "today" +"%Y-%m-%d-%H"`
reboot
fi
fi
else
logger -i \($0\) Datei /srv/vdr/video/nfs-server-missing jetzt nicht mehr vorhanden, alles OK
exit 0
fi
else
logger -i \($0\) Datei /srv/vdr/video/nfs-server-missing nicht vorhanden, alles OK
exit 0
fi
Alles anzeigen
Was mir allerdings noch fehlt:
Wie fahre ich den VDR_PC runter wenn alle Maßnahmen fehlgeschlagen sind das NFS-Share zu mounten ?
Allerdings ist jetzt ja noch der Timer aktiv weshalb der VDR-PC überhaupt gestartet ist.
Dieser zeichnet jetzt auf bis die 8GB große Boot-HD voll ist.
Ziel soll sein, dass er dennoch runter fährt und mit dem nächsten Timer wieder startet, in der Hoffnung, dass das NFS-Share dann wieder da ist.