Script unter /usr/local/etc/rc.d/ wird nicht ausgeführt

Status
Für weitere Antworten geschlossen.

soley

Benutzer
Mitglied seit
14. Mai 2013
Beiträge
20
Punkte für Reaktionen
0
Punkte
0
Hallo,

ich möchte ein Verzeichnis aus "/volume1/homes/<user>/video" unter "/volume1/video" einbinden. Dafür habe ich das "Start/Stop Skript" aus dem Wiki genommen und entsprechend angepaßt. Berechtigungen: 755 auf root:root. Das Skript funktioniert auch, wenn es manuell gestartet wird, nicht aber automatisch beim Booten der DS. Gibt es noch weitere Voraussetzungen oder Änderungen, die in dem Wiki-Artikel nicht genannt sind? Oder sitzt das Problem eher vor dem Bildschirm (die derzeitigen Temperaturen scheinen mir mehr auszumachen als der DS) ;-).....

Grüße,
Marc
 

Puppetmaster

Benutzer
Sehr erfahren
Mitglied seit
03. Feb 2012
Beiträge
18.991
Punkte für Reaktionen
628
Punkte
484
Poste das script doch mal.
 

soley

Benutzer
Mitglied seit
14. Mai 2013
Beiträge
20
Punkte für Reaktionen
0
Punkte
0
Rich (BBCode):
#!/bin/sh
# chmod 755 /usr/syno/etc.defaults/rc.d/S99ZZZ_customize.sh
# mount/bind some folders on startup and umount them on shutdown/reboot (http://www.synology-wiki.de/index.php/Mount_Bind)
# Write to system log, event ids in /usr/syno/synosdk/texts/enu/events (http://forum.synology.com/enu/viewtopic.php?f=27&t=6396)
mountit()
{
    # $1 mount what, $2 mount where
    if [ -e $2 ]
    then
        /usr/syno/bin/synologset1  sys err 0x11800000 "$0: $2 exists"
    else
        /bin/mkdir -p $2
        /bin/mount -o bind $1 $2
        /usr/syno/bin/synologset1  sys info 0x11800000 "$0: Mounted $1 to $2"
    fi
    return
}
umountit()
{
    # $1 umount what
    /bin/umount $1 && /bin/rmdir $1 && /usr/syno/bin/synologset1  sys info 0x11800000 "$0: Unmounted $1"
    return
}

case $1 in
start)
    mountit /volume1/homes/sp/Audio/01/ /volume1/music/01/
    mountit /volume1/homes/sp/Audio/02/ /volume1/music/02/
    mountit /volume1/homes/sp/Audio/03/ /volume1/music/03/
    mountit /volume1/homes/sp/Video/Film/ /volume1/video/Film/
    ;;
stop)
    umountit /volume1/music/01/
    umountit /volume1/music/02/
    umountit /volume1/music/03/
    umountit /volume1/video/Film/
    ;;
*)
    echo "Usage: $0 [start|stop]"
    ;;
esac
 
Zuletzt bearbeitet von einem Moderator:

Puppetmaster

Benutzer
Sehr erfahren
Mitglied seit
03. Feb 2012
Beiträge
18.991
Punkte für Reaktionen
628
Punkte
484
Hm, ich sehe erstmal kein Problem, aber bei mir ist's auch sehr warm und der Kopf ist träge...

Vielleicht entdeckt sonstwer ja was...
 

Benares

Benutzer
Sehr erfahren
Mitglied seit
27. Sep 2008
Beiträge
13.140
Punkte für Reaktionen
3.407
Punkte
468
Die typischsten Fehler sind:
1.) irgendwo fehlt noch der Pfad zum Befehl. Nimm mal die PATH-Einstellung "PATH=...; export PATH" aus der /etc/profile mit in das Script auf.
2.) Der Name des Scripts endet nicht mit .sh (meines Wissens werden nur diese automatisch ausgeführt, bin mir aber nicht sicher)
3.) Das Scripts läuft einfach zu früh, /volume1 ist einfach noch nicht gemountet. Bau mal ein paar weitere Meldungen ein.

Gruß Benares
 

Puppetmaster

Benutzer
Sehr erfahren
Mitglied seit
03. Feb 2012
Beiträge
18.991
Punkte für Reaktionen
628
Punkte
484
Zumindest Vermutung 3) kann ich entkräften, denn ich habe auch ein mount-script in diesem Ordner.
 

fpo4711

Benutzer
Mitglied seit
26. Mai 2010
Beiträge
2.772
Punkte für Reaktionen
1
Punkte
0
Die typischsten Fehler sind:
2.) Der Name des Scripts endet nicht mit .sh (meines Wissens werden nur diese automatisch ausgeführt, bin mir aber nicht sicher)

Und genau so ist es. Somit würde ich mal ganz dezent auf ein fehlendes .sh tippen.

Gruß Frank
 

soley

Benutzer
Mitglied seit
14. Mai 2013
Beiträge
20
Punkte für Reaktionen
0
Punkte
0
Sorry, hat ein bisserl länger gedauert. Zu Euren Vermutungen:

1.) Die PATH Einstellungen hatte und habe ich (immer noch) nicht überprüft
2.) Das Script hat geendet und endet auf ".sh"
3.) Ob /volume1 zur Zeit der Skriptausführung noch nicht eingebunden war, kann ich nicht sagen. Es würde mich aber überraschen, wenn dem so gewesen sein sollte. Und bei Puppetmaster ist dieser Punkt ja auch kein Thema.

Auf jeden Fall hat sich das Problem gelöst, nachdem ich das Skript noch einmal geschrieben und auf die DS kopiert habe. In vi sind mir dann Steuerzeichen ( ^M ) angezeigt worden, die ich entfernt habe (ich weiß gar nicht mehr mit welchem Editor ich das erste Skript erstellt hatte. Könnte "Textedit" gewesen sein. Das neue kommt auf jeden Fall aus Notepad++ und ist - wie gesagt - noch einmal mit vi überarbeitet worden.). Hat auf Anhieb funktioniert :) ..... Verstehe nur nicht, warum die manuelle Ausführung damals funktioniert hatte. Nun gut ....

Vielen Dank für Eure Tips,
Gruß,
Marc
 
Zuletzt bearbeitet:
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 

 
 
  AdBlocker gefunden!

Du bist nicht hier, um Support für Adblocker zu erhalten. Dein Adblocker funktioniert bereits ;-)

Klar machen Adblocker einen guten Job, aber sie blockieren auch nützliche Funktionen.

Das Forum wird mit hohem technischen, zeitlichen und finanziellen Aufwand kostenfrei zur Verfügung gestellt. Wir zeigen keine offensive Werbung und bemühen uns um eine dezente Integration.

Bitte unterstütze dieses Forum, in dem du deinen Adblocker für diese Seite deaktivierst.

Du kannst uns auch über unseren Kaffeautomat einen Kaffe ausgeben oder ein PUR Abo abschließen und das Forum so werbefrei nutzen.

Vielen Dank für Deine Unterstützung!