Problemstellung: Ich habe meine Musik auf einer Netzwerkfreigabe liegen, die beim Starten meines Debian-Systems gemountet werden soll. Ein klarer Fall für die fstab. Problem: Wenn ich mein Notebook mal außerhalb meines Netzwerks benutze, soll nicht gemountet werden (geht ja auch gar nicht, weil Freigabe nicht erreichbar.).
Idee: Server der die Freigabe zur Verfügung stellt anpingen und bei Erfolg Freigabe mounten.
Umsetzung (als root):
touch mount_music.sh
chmod 700 mount_music.sh
vim mount_music.sh
Script:
#!/bin/bash
SERVER=""
MOUNTPOINT=""
FILESYSTEM=""
USER=""
PW=""
LOCALMOUNT=""
PING_TEST=$(ping -c 1 $SERVER | grep 'received' | awk -F ',' '{ print $2 }' | awk '{ print $1 }')
if [ $PING_TEST -eq 0 ]; then
echo "System unavailable!"
else
mount -t $FILESYSTEM //$SERVER/$MOUNTPOINT -o username=$USER,password=$PW $LOCALMOUNT
fi
Die Variablen müssen natürlich noch angepasst werden!
Dann…
ln -s /X/mount_music.sh /etc/rcX.d/S99music_mount
Nun wird das Script beim Booten des jeweiligen Runlevels (in meinem Fall: 2) mit als letztes durchgeführt.
Fazit: Klappt wunderbar. Das echo im Fehlerfall hätte ich mir sparen können, da man die Ausgabe eh nicht sieht. Aber ansonsten bin ich zufrieden