Aller au contenu

Featured Replies

Posté(e)

Bonjour,

--

sino 211j

connecté root en ssh

--

J'ai ajouté la dernière ligne :

#minute hour mday month wday who command
34 21 * * 3,6 root /usr/bin/php -n -d safe_mode_exec_dir='' /usr/syn
13 14 * * 2,5 root /usr/syno/bin/synopkg chkupgradepkg
0 0 * * * root /usr/syno/bin/syno_poweroff_feasible_check
0 12 * * * root /usr/sbin/ntpdate -b ntp.inria.fr
04 11 * * * root /usr/bin/btsync

dans le fichier etc/crontab

fais un stop restart de S04cron

/usr/syno/etc.defaults/rc.d/S04crond.sh stop

/usr/syno/etc.defaults/rc.d/S04crond.sh start

pourtant la tâche ne se lance pas (si je la lance manuellement oui)

sauriez vous me dire pourquoi?

merci

Posté(e)

Tu as bien mis des tabulations entre chaque champs ? (et pas des espaces)

Posté(e)

Je n'ai pas ce "btsync" dans /usr/bin pour tester

C'est ajouté par un package?

Posté(e)

Oué, c'est le client de synchro cloud de bittorrent

Sinon, juste comme çà, ya un package beta qui viens de sortir pour btsync

Posté(e)
  • Auteur

à bud 77, oui ce sont bien des tabulations,

et btsync est un client bittorrent qui te permet de t'affranchir de drpbox et autres en synchronisant des dossiers distants avec une clé publique forte,

ce n'est pas un package syno mais de la société bittorrent

Posté(e)
  • Auteur

eh bien parce que j'éteins mon syno la nuit, et le matin, je voudrais bien que ce service soit démarré

Posté(e)

Donc il faut un script de démarrage (dans /usr/syno/etc/rc.d/ ou /usr/local/etc/rc.d/), et non une tâche cron.

Posté(e)
  • Auteur

merci bq de ta réponse,

un script de démarrage est vraiment mieux que de croner un service ? sûrement plus élégant en effet

donc un script genre

#!/usr/bin
/bin/btsync

rendre le fichier exécutable (chmod +x) et le placer dans /usr/syno/etc/rc.d/ ?

n y aurait il pas des pb de droits si on l'exécute dans le rep ci dessus?

./startbtsync.sh

Posté(e)

merci bq de ta réponse,

un script de démarrage est vraiment mieux que de croner un service ? sûrement plus élégant en effet

donc un script genre

#!/usr/bin

/bin/btsync

rendre le fichier exécutable (chmod +x) et le placer dans /usr/syno/etc/rc.d/ ?

n y aurait il pas des pb de droits si on l'exécute dans le rep ci dessus?

./startbtsync.sh

Mettre plutot le script dans "/usr/local/etc/rc.d" (ne sera pas écrasé lors des updates firmware)

  • pour le nom "startbtsync.sh" c'est ok (important le suffixe ".sh" ici)
  • chmod +x en effet
  • et pour le contenu:
#!/bin/sh
PATH=/bin:/usr/bin
case $1 in
    start)
          /usr/bin/btsync
          ;;
esac

Tester le script en ligne de commande, si il ne rend pas la main c'est que la commande "btsync" doit être mise en background, comme cela:

/usr/bin/btsync </dev/null >/tmp/btsync.log 2>&1 &
Posté(e)
  • Auteur

C'est vraiment cool de m'aider ainsi,

j'ai donc placé le fichier dans "/usr/local/etc/rc.d"

puis enrichi le script de que tu as écrit,

fait un chmod +x

mais quand je le lance manuellement,

./startbtsync, j'obtiens

DiskStation> ./startbtsync.sh
-ash: ./startbtsync.sh: Permission denied

c'est curieux non? (je suis bien en root)

Posté(e)

C'est vraiment cool de m'aider ainsi,

j'ai donc placé le fichier dans "/usr/local/etc/rc.d"

puis enrichi le script de que tu as écrit,

Peux-tu nous dire en quoi consistent ces "enrichissements" STP?

fait un chmod +x

mais quand je le lance manuellement,

./startbtsync, j'obtiens

DiskStation> ./startbtsync.sh

-ash: ./startbtsync.sh: Permission denied

c'est curieux non? (je suis bien en root)

Le mieux serait de nous montrer le contenu de ta version du script.

Modifié par CoolRaoul

Posté(e)
  • Auteur

bonjour,

bien volontiers:

dans le rep : /usr/local/etc/rc.d

#!/bin/sh
PATH=/bin:/btsync
cas $1 in
start)
/usr/bin/btsync
;;
esac

Posté(e)

bonjour,

bien volontiers:

dans le rep : /usr/local/etc/rc.d

#!/bin/sh

PATH=/bin:/btsync

cas $1 in

start)

/usr/bin/btsync

;;

esac

  • Pourquoi avoir changé la ligne "PATH" (cela dit elle n'a pas d'impact ici puisque le script utilise un chemin absolu)?
  • que donnent les commandes:

    sh ./startbtsync.sh
    et

    ls -ld ./startbtsync.sh

Modifié par CoolRaoul

Posté(e)
  • Auteur

voilà

DiskStation> sh ./startbtsync.sh
./startbtsync.sh: line 3: cas: not found
./startbtsync.sh: line 4: syntax error: unexpected ")"

DiskStation> ls -ld ./startbtsync.sh
-rwxrwxrwx 1 root root 69 Apr 26 10:30 ./startbtsync.sh

ty

Posté(e)

2 choses :

Tu as oublié un E dans la ligne

cas $1 in

C'est "casE" qu'il faut mettre

Ensuite, le script se lance avec l'argument "start"

./btsync.sh start
Posté(e)
  • Auteur

corrigé le e,

et quand je lance

./startbtsync.sh start
./startbtsync.sh: line 7: /usr/bin/btsync: not found

DiskStation> cd /bin
DiskStation> ls
ash dnsdomainname kill pidof su
btsync echo

ca vance, mais c'est pas ca; en tout cas merci

Posté(e)

Dans le script tu lances /usr/bin/btsync, mais ton "ls" est dans /bin

Donc tu as pas du faire le lien dans le bon répertoire, soit dans /usr/bin, soit dans le script (et pointer sur /bin)

Posté(e)
  • Auteur

tout fonctionne,

je remercie bud77,coolraoul et piwi

pour leur aide généreuse.

bonne journée et merci

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…

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.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.