regelmässig Laufwerke mounten lassen

Status
Für weitere Antworten geschlossen.

Artalos

Benutzer
Mitglied seit
27. Sep 2008
Beiträge
68
Punkte für Reaktionen
0
Punkte
12
Hallo,

da ich mir nicht ganz sicher bin, wohin das Thema "mount" gehört, habe ich es mal hier hinein gepflanzt.

Meine Frage:
Ich mounte über einen VPN Tunnel ein entferntes Laufwerk beim starten der DS.

Jetzt habe ich leider nur ein normales DSL (obwohl es hier 50MBit Anschlüsse gibt) und das trennt sich alle 24h. Sprich die gemounteten Laufwerke sind weg.

Wie kann ich die Syn dazu bringen, alle 2 Stunden z.B. das Laufwerk neu zu mounten bzw. alle x Minuten zu überprüfen ob es noch da ist und ggf. neu zu mounten...?

Danke schon mal :)
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
Du kannst dein mount-Script regelmässig mittels cron ausführen lassen. Das Script muss vor dem Absetzen des mounts einfach prüfen ob der mount nicht allenfalls bereits besteht
 

Artalos

Benutzer
Mitglied seit
27. Sep 2008
Beiträge
68
Punkte für Reaktionen
0
Punkte
12
Das mit dem Cron-Job dachte ich mir schon...

Leider bin ich was ein Script schreiben angeht ziemlich bei null. Ich weiß also leider nicht nur nicht wie man ein Script schreibt, auch das Einfügen als Cron-Job kriege ich nicht hin...

Gibt es (im Wiki schau ich mal) eine Anleitung? Wäre für son Linux Analphabet wie mich sehr hilfreich :)
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
So mal als Idee
Code:
#!/bin/sh
if test -e /path/to/mount/datei.txt; then
 exit 0
else
 ping -c 1 host.domain.tld > /dev/null
 if test $? -eq 0; then
  #mount-Befehl hier rein
  exit 0
 else
  exit 1
 fi
fi
das Script prüft ob die Datei /path/to/mount/datei.txt existiert. Das sollte eine Datei sein, die garantiert auf dem Server liegt. Wenn ja, dann ist der mount noch da und das Script bricht ab.
Wenn nein wird ein ping an host.domain.tld (nfs Server) abgesetzt. Dort müsstest du einfach den Hostnamen oder die IP des Server eintragen.
Wenn ping 0 (alles okay) zurückgibt, weiss das Script das der Server da ist und macht den mount. Dort müsstest du deinen mount Befehl einsetzen.
 

Artalos

Benutzer
Mitglied seit
27. Sep 2008
Beiträge
68
Punkte für Reaktionen
0
Punkte
12
Saugenial!!!! Danke.

Ich finds einfach nur geil, dass jemand binnen paar Minuten das mal "schnell zusammentippt" was ich mir gerade so noch logisch zusammenbauen kann...

Unter Windows wäre ich fit, aber Linux ist noch echt was fremdes...

Ich versuche mich mal mit dem einbauen bin mir nur nicht sicher, wo das Script genau gespeichert sein muss und wie die Datei heißen muss um als Script zu laufen...

:)
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
Das Script kannst du an einem beliebigen Ort unter beliebigen Namen speichern. Danach legst du den cronjob an, der das Script regelmässig ausführt.
Tipp meinerseits: Teste das Script, nachdem du deine Anpassungen gemacht hast, erstmal auf der Konsole, bevor du es in cron einbindest. Wenn der/die mounts korrekt gemacht werden, dann in cron einbinden. afaik hat es etwas zum Thema cron im Wiki. Wichtig ist eigentlich nur folgendes: Du musst TABS anstelle von Leerzeichen verwenden, wenn du den Synology cron nutzt.
 

Artalos

Benutzer
Mitglied seit
27. Sep 2008
Beiträge
68
Punkte für Reaktionen
0
Punkte
12
So habe alles mal zusammen gebaut und werde testen und dann berichten.

Vielen Dank für die flotte und saugute Hilfe!!!! :-D
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
Noch eine Idee: Nach dem mount würde es allenfalls Sinn machen ebenfalls den Exit Code des mount Befehls zu prüfen
Code:
#!/bin/sh
if test -e /path/to/mount/datei.txt; then
   exit 0
else
   ping -c 1 host.domain.tld > /dev/null
   if test $? -eq 0; then
     #mount-Befehl hier rein
     if test $? -eq 0; then
       #Mount hat geklappt
       exit 0
     else
       #Mount hat nicht geklappt
       exit 1
     fi
   else
     exit 1
   fi
fi
 

Artalos

Benutzer
Mitglied seit
27. Sep 2008
Beiträge
68
Punkte für Reaktionen
0
Punkte
12
Hallo,

dank Dir noch mal für das Skript.

Ich habe jetzt mal bisschen ausprobiert und es hat leider nicht funktioniert. Daraufhin habe ich versucht (ohne Neustart der DS) den "normalen" Mount Befehl auszuführen.
Dabei kommt diese Fehlermeldung (es ist nichts gemountet):

Server> mount -t nfs 192.168.xx.xx:/volume1/video /volume1/abc/video
mount: Mounting 192.168.xx.xx:/volume1/video on /volume1/abc/video failed: Device or resource busy

Ich bin (wieder mal) verwirrt...
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
Kann es sein, dass bereits gemountet wurde? Das Kommando df sollte dir anzeigen, was so alles gemountet ist auf deiner DS.
Es könnte aber auch sein, dass als noch ein mount bestanden hat, deine IP geändert hat und der vpn Tunnel zusammenbrach. Könnte gut sein, dass die DS glaubt, dass noch was gemountet sein müsse und erlaubt keinen "erneuten" mount auf denselben mountpoint. Allenfalls könnte ein restart des nfs Daemons auf der DS auch reichen.

Andernfalls müsste man das Script für diesen Fall anpassen und besser einen reboot auslösen und erst danach den mount versuchen.
 

Artalos

Benutzer
Mitglied seit
27. Sep 2008
Beiträge
68
Punkte für Reaktionen
0
Punkte
12
Hmmm könnte sein, dass die DS das erst später (oder gar nicht) kapiert mit dem VPN-Tunnel, da der ja nicht von ihr aufgebaut wird...

Reicht "nfs restart" um den NFS Daemon neu zu starten?

Das würde ich dann mal probieren...
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
Reicht "nfs restart" um den NFS Daemon neu zu starten?
Du müsstest das Startscript mit dem Parameter restart aufrufen. Dieses liegt unter /usr/syno/etc.defaults/rc.d und heisst irgendwas mit nfs im Namen
 
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat