Aller au contenu

[Résolu]Problème de script via Planificateur


Messages recommandés

Bonjour,

 

Je viens demander de l'aide car je commence à devenir fou, pour sans doute un truc très simple !

 

Le problème :

J'ai un script sh qui utilise lftp pour synchroniser des répertoires entre mon NAS et une Seedbox.

Quand je l'exécute "à la main" via ligne de commande sur putty connecté à mon NAS, ça fonctionne parfaitement.

 

Mais quand je le lance via le planificateur de tâche de Synology, le script ne semble qu'exécuter les "echo" mais ne rien faire d'autre (j'ai pas les logs du mirror lftp qui est pourtant en verbose et qui log quand je le lance à la main).

 

J'ai testé plusieurs shibang en début de mon script mais ça ne change rien.

 

Une idée ?

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

Oui cela fait partie d’un défaut de la commande lftp
En Shell direct c’est verbeux, en script non.
Malgré des traps sur la redirection rien n’y fait.
Maintenant la commande de synchronisation est opérationnelle malgré tout.



Envoyé de mon iPad en utilisant Tapatalk

Lien vers le commentaire
Partager sur d’autres sites

Mais pourtant quand je dis manuellement, je lance mon fichier shell à la main, mais ça reste un script que je lance : "./synchro.sh"

Donc pour moi que ce soit lancé par moi ou pas l’ordonnanceur ne devrait pas changer le comportement.

 

Mais surtout dans mon cas par l’ordonnanceur la synchro ne fait rien.

Quand j'ajoute un fichier à synchroniser, en lançant le script manuellement il le fait, si c'est lancé via le planificateur il ne le synchronise pas.

Lien vers le commentaire
Partager sur d’autres sites

Oui mais c’est ainsi... comme écrit au-dessus c’est une ano de lftp en mode synchronisation.

 

Après en script ça fonctionne et on peut le lancer via cron

 

Perso la commande utilisée chez moi

 

lftp ftp://nomd_user:motdepasse@NASdestinataire -e "mirror -e -R /volume1/homes/nomd_user /home ; quit"

 

 

 

Soit

e — nom d’utilisateur concerné, son mot de passe et l’adresse du site distant

—> si utilisateur = sergio et mot de passe sur NAS destinataire = Htv22# et si NAS destinaraire = monnas.myds.me, alors le début de ma ligne de commande est :

 

lftp ftp://sergio:Htv22#@monnas.myds.me

-e –> indique la commande à exécuter qui se trouve entre guillemets

 

« mirror -e — > fait une synchronisation en effaçant les fichiers à destination si ils ne sont plsu présents en source.

 

-R –> de l’emplacement local à l’emplacement distant (sens de la synchro)

 

/volume1/homes/nomd_user /home–> chemin source

 

volume/chemin destination (non spécifié)

–> ici on arrive directement en se connectant avec l’utilisateur via FTP dans son home.

 

; quit » — pour mettre à un terme à la connexion à l’issue.

Lien vers le commentaire
Partager sur d’autres sites

J'ai exactement ce genre de ligne de connexion lftp dans mes scripts. Pour être simple, c'est quasiment ce qui est décrit dans cette page que j'ai fait :

http://furie.be/news/28/15/Faire-un-backup-de-ses-serveurs-sur-son-NAS-Synology-Partie-2.html

Du coup quand tu dis cron il faut donc pas utiliser le mécanisme de planificateur de tâche de Synology mais voir du côté de /etc/crontab ?

 

Merci en tout cas de prendre le temps de me répondre, j'apprends des choses :S

Lien vers le commentaire
Partager sur d’autres sites

Et bien écoute, tu as de la chance mdr, personnellement je n'ai rien changé au script, mais au lieu du planificateur je l'ai ajouté manuellement à la crontab et regénéré la crontab et là ça fonctionne parfaitement.

Le principal étant que ça fonctionne 😛

Lien vers le commentaire
Partager sur d’autres sites

Invité
Ce sujet 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.