grd974 Posté(e) le 2 juin 2017 Posté(e) le 2 juin 2017 Bonjour, Je suis nouveau dans le monde Synology et les recherches que j'ai effectuées jusqu'ici ne m'ont pas permis de trouver une solution au problème suivant,. Quand je lance depuis un terminal de mon PC cette commande : $ ssh root@192.168.1.28 'sh touch myfile_$(date +%T)' elle me crée un fichier sous le répertoire /root du NAS. En revanche, quand je crée cette ligne dans le fichier anacrontab de mon PC : 1 1 tt-news ssh -t root@192.168.1.28 'sh touch myfile +%T)' Son exécution ne crée aucun nouveau fichier. Toute suggestion est la bienvenue. 0 Citer
Fenrir Posté(e) le 2 juin 2017 Posté(e) le 2 juin 2017 (modifié) Enlève le -t, précise le path complet de ton fichier et mets le tout dans un script (avec les variables d'env nécessaires) mais surtout en indiquant la clef à utiliser. Ajoute un peu de debug dans le script et dans ta crontab, redirige la sortie vers un fichier de logs Modifié le 3 juin 2017 par Fenrir 0 Citer
grd974 Posté(e) le 3 juin 2017 Auteur Posté(e) le 3 juin 2017 Bonjour Fenrir, J'ai écrit ce script, aussi court que mes connaissances sont limitées : #! /bin/sh ssh -v root@192.168.1.28 touch /volume1/Documents/myfile_$(date +%T) > /volume1/Documents/myout et j'ai modifié l'anacrontab comme ceci : # /etc/anacrontab: configuration file for anacron # See anacron(8) and anacrontab(5) for details. SHELL=/bin/bash PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin HOME=/root LOGNAME=root # These replace cron's entries #1 5 cron.daily run-parts --report /etc/cron.daily #7 10 cron.weekly run-parts --report /etc/cron.weekly #@monthly 15 cron.monthly run-parts --report /etc/cron.monthly 1 1 pwtch2 /usr/local/bin/touchmyfile.sh > /home/tt/Reports/touch2 Je ne précise pas de clé car j'ai installé des clés RSA reconnues entre le NAS et mon PC. Quand je lance le job, il ne crée rien sur le NAS tandis que sur le PC, il crée un fichier touch2 qui ne contient rien. 0 Citer
Fenrir Posté(e) le 3 juin 2017 Posté(e) le 3 juin 2017 (modifié) #!/bin/bash REMOTEsrv='serveur distant' REMOTElogin='login distant' REMOTEpath='/chemin/vers/le/dossier' ssh $REMOTElogin@$REMOTEsrv "date >> $REMOTEpath/test" -------------- * * * * * /chemin/vers/le/scripts.sh >> /var/log/crontab.perso 2>&1 Modifié le 3 juin 2017 par Fenrir 0 Citer
grd974 Posté(e) le 3 juin 2017 Auteur Posté(e) le 3 juin 2017 Merci de ta réponse. Voici comment j'ai appliqué tes conseils. Mon script /home/tt/Programmation/testeNAS.sh : #!/bin/bash REMOTEsrv=192.168.1.28 REMOTElogin=root REMOTEpath=/volume1/Data ssh $REMOTElogin@$REMOTEsrv "date >> $REMOTEpath/test" Ma crontab : $ crontab -l * 6-9 * * 7 MX-weekly-BU.sh # JOB_ID_1 * * * * * /home/tt/Programmation/testeNAS.sh >> /var/log/crontab.perso 2>&1 Sur mon PC, il n'existe pas de fichier crontab.perso Sur le NAS : il n'y rien de créé (voir P.J.) 0 Citer
Fenrir Posté(e) le 3 juin 2017 Posté(e) le 3 juin 2017 à l’instant, grd974 a dit : Sur mon PC, il n'existe pas de fichier crontab.perso Le compte utilisé dans la crontab n'a pas le droits d'écrire dans /var/log, change le dossier (/tmp par exemple) il y a 1 minute, grd974 a dit : Sur le NAS : il n'y rien de créé (voir P.J.) le dossier test doit exister sur la nas 0 Citer
grd974 Posté(e) le 4 juin 2017 Auteur Posté(e) le 4 juin 2017 Au début, dans crontab.perso, j'avais un message du genre "test is a Directory". Dans le script, j'ai alors remplacé "$REMOTEpath/test" par "$REMOTEpath/test/essai" et, maintenant, à chaque exécution du cron job, la date s'inscrit dans le fichier essai sur le NAS. Fenrir, tu m'as permis de sortir d'une galère de plusieurs semaines durant lesquelles j'avais cherché partout en vain. Merci. 0 Citer
Messages recommandés
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.