Aller au contenu

Demande De Script


qualifrance

Messages recommandés

Bonjour,

Je vient d'installer le tuto pour copier du syno vers une hdfreebox

le seul hic est que la tache cron ne marche pas.

J'utilise ceci pour copier mes fichier du syno vers la freebox :

ncftpput -A -R -u ftpuser -p xxxx 192.168.1.36 "/Video" /volume1/video/*.*

cette commande marche impec sous putty en mode normal

j'avais donc mis en tache cron ceci :

0 18 * * * ncftpput -A -R -U ftpuser -p XXXX 192.168.1.36 "/Video" /volume1/video/*.avi

mais helas cela marche pas sous cron

J'ai egalement installer le script moniteur de fredo avec la tache cron qui marche impecable.

est-ce que quelqu'un pourrait me faire un script qui fait marcher mon affaire et me dire ou le mettre et comment le lancer

Merci

Ps : je suis pas un pro en linux

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

Je vient d'installer le tuto pour copier du syno vers une hdfreebox

le seul hic est que la tache cron ne marche pas.

J'utilise ceci pour copier mes fichier du syno vers la freebox :

ncftpput -A -R -u ftpuser -p xxxx 192.168.1.36 "/Video" /volume1/video/*.*

cette commande marche impec sous putty en mode normal

j'avais donc mis en tache cron ceci :

0 18 * * * ncftpput -A -R -U ftpuser -p XXXX 192.168.1.36 "/Video" /volume1/video/*.avi

mais helas cela marche pas sous cron

J'ai egalement installer le script moniteur de fredo avec la tache cron qui marche impecable.

est-ce que quelqu'un pourrait me faire un script qui fait marcher mon affaire et me dire ou le mettre et comment le lancer

Merci

Ps : je suis pas un pro en linux

Alors en ressortant un 'vieux' fichier cron, concernant justement le moniteur de fredo j ai retrouvé cette ligne :

*/5	*	*	*	*	root	sh /opt/bin/moniteur
J en déduit donc que ta tache n'est peut être pas exécuter en mode root et que la syntaxe exacte serait ceci :
0	18	*	*	*	root ncftpput -A -R -U ftpuser -p XXXX 192.168.1.36 "/Video" /volume1/video/*.avi

Essaye un peu et donne nous un retour du résultat.

Lien vers le commentaire
Partager sur d’autres sites

Merci pour la reponse

j'avait tester cela egalement mais pareil

ne serait-il pas plus simple de mettre cela dans un fichier et de l'executer par script ?

Oui ,ça te permettra de vérifier que le script fonctionne.

Donc la ligne de commande serait ceci :

0	18	*	*	*	root sh /volume1/xxx/monscript

Ou bien sur /xxxx/monscript est le lien vers ton fichier.

N'oubie pas un chmod 777 sur ton script

Par contre tu as pensé a stopper cron et le relancer ? (Soit tu reboot le syno soit c'est crond stop /crond start)

Lien vers le commentaire
Partager sur d’autres sites

Oui ,ça te permettra de vérifier que le script fonctionne.

Donc la ligne de commande serait ceci :

0	18	*	*	*	root sh /volume1/xxx/monscript

Ou bien sur /xxxx/monscript est le lien vers ton fichier.

N'oubie pas un chmod 777 sur ton script

Par contre tu as pensé a stopper cron et le relancer ? (Soit tu reboot le syno soit c'est crond stop /crond start)

Un truc de Fou !!

meme comme cela ca marche pas alors que quand je fait dans putty : ./save.sh cela marche mais le cron ne le lance pas grrr

pour le start stop j'ai fait cela :

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

Puis le redémarrer

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

un vrai case tete ce truc

Lien vers le commentaire
Partager sur d’autres sites

Un truc de Fou !!

meme comme cela ca marche pas alors que quand je fait dans putty : ./save.sh cela marche mais le cron ne le lance pas grrr

pour le start stop j'ai fait cela :

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

Puis le redémarrer

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

un vrai case tete ce truc

J ai peut etre ta réponse en vérifiant mon propre cron

Ce ne sont pas des espaces mais des tabulations qu'il faut mettre dans le fichier cron, et je pense que ton soucis vient de la .

Soit :

0(tab)18(tab)*(tab)*(tab)*(tab)root(tab)sh /volume1/xxx/monscript

Et entre le sh et /volume1 c'est bien un espace

Voila dit nous en plus.

Lien vers le commentaire
Partager sur d’autres sites

helas pareil je m'etait deja des Tab entre chaque

je sais vraiement pas ce qui coince je peut deplacer mon fichier n'importe ou et il s'execute bien mais pas en Cron

question est-ce qu'il faut laisser le reglages de l'heure sur automatique ou sur manuel ?

Peut ton avoir un log pour voir ce qui ce passe avec le cron ?

Merci pour ton aide

Lien vers le commentaire
Partager sur d’autres sites

Bonsoir,

Heu, je vous suis de loin, mais il me semble qu'il faudrait protéger par des guillemets la chaine :

/volume1/video/*.avi

Bon, je ne sais pas si cela fonctionnera, mais par expérience, les caractères génériques comme l'étoile, se n'est pas bon pour une exécution dans 'crontab'.

Surtout s'il y a des fichiers dont le nom comporte des espaces. Cela fausse tout !

Il serait alors préférable de passer par un petit script.

Dit moi ?

A+ :hi:

Fred.

Lien vers le commentaire
Partager sur d’autres sites

salut

quel crontab as-tu édité?

/etc.defaults/crontab ou bien /etc/crontab

oui syslog devrait enregistrer les logs de cron.

j'ai modifié syslog mais je pense que dans la config par défaut les logs sont dans

/var/log/messages

dis nous ce que renvoit:

shell> more /var/log/messages | grep cron

:)

j'edite cela pour le crontab je sais pas si ces ok :

vi /etc/crontab

Sinon more /var/log/messages | grep cron me renvoie rien

dit moi si ces le bon crontab que j'edite ?

merci

Lien vers le commentaire
Partager sur d’autres sites

oui voici le contenu de mon script tout bete :

#!/bin/sh

ncftpput -A -R -u ftpuser -p xxxxx 192.168.1.36 "/Video" /volume1/video/*.*

salut,

que retourne

ps -aux | grep syslog

cela retourne ca :

ps -aux | grep syslog

332 root 276 S /sbin/syslogd -S

2114 root 220 S grep syslog

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

Si ta ligne de commande fonctionne tel quel dans Telnet Essai :

#-------------------------------------- Debut de script

#!/bin/sh

for bo in `ls -dA /volume1/video/*.* | sed "s/ /@espace@/g" 2> /dev/null`

do

bo=`echo $bo | sed "s/@espace@/ /g"`

ncftpput -A -R -u ftpuser -p xxxxx 192.168.1.36 "/Video" "$bo"

sleep 2

done

#-------------------------------------- Fin du script

Enregistre ton script dans /bin par exemple avec comme nom sauve-film

Rend le bien exécutable avec la commande chmod 777 /bin/sauve-film

Inscrit le script dans le fichier /etc/crontab

echo -e "0\t18\t*\t*\t*\troot\tsh /bin/sauve-film" >> /etc/crontab

Et reboot ton SYNO.

Ce script permet de ne pas être coincé si le nom du fichier contient des espaces.

Il faudra veiller a supprimer ces fichiers, si tu ne veux pas qu'ils soient une nouvelle fois copier sur la FREEBOX.

A+ :hi:

Fred.

Lien vers le commentaire
Partager sur d’autres sites

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • 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.