Aller au contenu

Lancement Automatique D'une Commande Au Demarage Du Syno


Messages recommandés

Bonjour à tous.

Est-ce que qq sait comment je peux lancer automatiquement la commande suivante au demarrage du syno ?

mount --bind /volume1/photo/ /volume1/TVIX/PHOTO/

Cette commande fonctionne nickel (pour ce que j'en fais) mais si je reboote le syno, le repertoire virtuel disparait (normal...).

J'aimerais que la ligne soit exécutée à chaque démarrage du syno, un peu comme Autoexec.bat sous windows.

Merci à tous.

Lien vers le commentaire
Partager sur d’autres sites

Fait une recherche sur le terme "S99mount.sh" :)

Merci, j'ai bcp avancé. Mon script marche nickel quand je le lance à la main, mais pas au reboot du syno...

(J'ai un DS213 avec DSM 4.2).

Mon script s'appelle tvix.sh

Voila quand je fais un cat tvix.sh :

/volume1/startup> cat tvix.sh
#!/bin/sh

mount --bind /volume1/photo/ /volume1/TVIX/PHOTO/

mount --bind /volume1/music/ /volume1/TVIX/MUSIC/

mount --bind /volume1/video/ /volume1/TVIX/MOVIE/

/volume1/startup>

Quand je lance ./tvix.sh tout marche nickel. Mais pas au reboot.

Quand je fais ls -lsa tvix.sh, j'ai bien rwx pour tous les users.

Help !!!!

Comment faire pour que ce script qui fonctionne nickel à la main n'ait aucun effet au reboot du syno ?

Merci.

Lien vers le commentaire
Partager sur d’autres sites

Alors, il est vrai que depuis DSM 4.0, je n'ai vu personne vérifier si le dossier /volume1/startup était toujours utilisé

Tente alors de le placer dans le "vrai" dossier contenant les scripts de démarrage "/usr/syno/etc.defaults/rc.d/"

Il faudra alors rajouter un S99 au début du nom de ton script (c'est peut être çà qui manque aussi dans le répertoire que tu utilises)

Lien vers le commentaire
Partager sur d’autres sites

Si je peux me permettre mon petit grain de sel, je préconise plutôt d'utiliser "/usr/local/etc/rc.d" comme répertoire d'hébergement des scripts de startup "custom" (C'est celui-ci qui est préconisé par Synology pour les scripts "utilisateur")

Pour s’exécuter au boot, le script doit simplement être exécutable ("chmod 755" ou, mieux, "chmod a+rx"), son nom est libre mais doit se terminer par ".sh" et il doit accepter les paramétres "start" et "stop"

Ce qui nous donne:

#!/bin/sh
PATH=/bin:/usr/bin

case ${1:-start} in
    start)
        exec >>/tmp/localmounts.log 2>&1
        mount --bind /volume1/photo /volume1/TVIX/PHOTO
        mount --bind /volume1/music /volume1/TVIX/MUSIC
        mount --bind /volume1/video /volume1/TVIX/MOVIE
        ;;
    stop)
        for v in  PHOTO MUSIC VIDEO
        do
            umount /volume1/TVIX/$v
        done
        ;;
esac


en prime, le contenu de "/tmp/localmounts.log" te permettra de visualiser les éventuelles erreurs du script lors de son exécution

Modifié par CoolRaoul
Lien vers le commentaire
Partager sur d’autres sites

  • 10 mois après...

bonjour,

j'ai essayé la même manip, et bien moi cela ne fonctionne pas... j'ai mis le fichier dans le bon répertoire, mis le chmod et aucun mount ne fonctionne...


voici le contenu du fichier :

#!/bin/sh
PATH=/bin:/usr/bin

case ${1:-start} in
    start)
        exec >>/tmp/localmounts.log 2>&1
        mount --bind /volume3/Seb /volume1/web/Briefcase/Home/Seb
        mount --bind /volume3/Lea /volume1/web/Briefcase/Home/Lea
        mount --bind /volume3/Esteban /volume1/web/Briefcase/Home/Esteban
        mount --bind /volume2/Videos_2/Principal /volume1/Videos_1/Principal/Videos2
 ;;
    stop)
        do
            umount /volume1/web/Briefcase/Home/Seb
            umount /volume1/web/Briefcase/Home/Lea
            umount /volume1/web/Briefcase/Home/Esteban
            umount /volume1/Videos_1/Principal/Videos2
        done
        ;;
esac

Lien vers le commentaire
Partager sur d’autres sites

j'ai essayé la même manip, et bien moi cela ne fonctionne pas... j'ai mis le fichier dans le bon répertoire, mis le chmod et aucun mount ne fonctionne...

Dans le script, ajouter la ligne:

exec > /tmp/mount_local.log 2>&1
juste apres la ligne "#!".

Redémarrer et aller voir dans le contenu du .log généré ce qui a coincé.

Il est important que le nom du script se termine par ".sh" aussi (en tout cas c'est ce qui est indiqué par le README situé dans mon "/usr/local/etc/rc.d" (doit dater d'une ancienne version de DSM sans doute)

Modifié par CoolRaoul
Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

non j'ai créé le fichier et je l'ai édité en shell.

il s'agissait d'une erreur (plusieurs en fait) dans le code, voici la version finale... qui fonctionne à l'instant !

#!/bin/sh
PATH=/bin:/usr/bin

case ${1:-start} in
    start)
        exec >>/tmp/localmounts.log 2>&1
        mount --bind /volume3/Seb /volume1/web/Briefcase/Home/Seb
        mount --bind /volume3/Lea /volume1/web/Briefcase/Home/Lea
        mount --bind /volume3/Esteban /volume1/web/Briefcase/Home/Esteban
        mount --bind /volume2/Videos_2/Principal /volume1/Videos_1/Principal/Videos2
 ;;
    stop)
        umount /volume1/web/Briefcase/Home/Seb
        umount /volume1/web/Briefcase/Home/Lea
        umount /volume1/web/Briefcase/Home/Esteban
        umount /volume1/Videos_1/Principal/Videos2
        ;;
esac

merci pour le tuyau ! C'est nickel après le restart.

Sebmex

Lien vers le commentaire
Partager sur d’autres sites

Rejoindre la conversation

Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.