Aller au contenu

Je ne comprends pas crontab


Messages recommandés

Bonjour à tous

Je dispose d'un synology DS112j; DSM 5.2-5592 Update 2, et IPKG installé.

Mes besoins:

Nous sommes plusieurs à avoir besoin des ressources stockées sur le NAS, et nous n'habitons pas du tout au même endroit. Les NAS étant derrière une Livebox= pas d'IP fixe. Je souhaite donc publier l'IP sur un site tiers, afin que chacun puisse se connecter au VPN du syno, en renseignant l'IP.

Ma méthode:

J'ai écris un script qui va d'abord effacer le précédent fichier récupéré puis va  récupérer l'index.html de monip.org, (pas besoin de modifier l'index dans l'immédiat, le problème n'est pas là), pour ensuite publier le fichier via ftp sur une site tiers.

Le script:

#!/opt/bin/bash
PATH=/bin:/usr/bin:/opt/bin:/root
/bin/rm /root/index.html
/usr/bin/wget http://monip.org
/opt/bin/tnftp ftp.XXXXXX.com <<End-of-session
put /root/index.html /www/ip/index.html
close
End-of-session
 

Oui par flème j'ai laissé le script dans /root/ ...

J'ai renseigné le PATH dans le script comme j'ai pu le lire sur le forum, ainsi que les chemins absolu. J'ai également crée un fichier .netrc avec les paramètres de connexion au ftp.

Le retour:

bash-3.2# sh getip.sh
--2015-08-04 15:09:05--  http://monip.org/
Resolving monip.org... 217.70.182.162
Connecting to monip.org|217.70.182.162|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 401 [text/html]
Saving to: 'index.html'

100%[==================================================================================================================================>] 401         --.-K/s   in 0s     

2015-08-04 15:09:09 (10.7 MB/s) - 'index.html' saved [401/401]

Connected to ftp.XXXXXXX.net.
220-Bienvenue,
220-
220-    On Vous Héberge ? (tout le monde à reconnu ovh)
220-
220-Vous êtes connecté sur webm227.
220 This is a private system - No anonymous login
331 User XXXXXX OK. Password required
230-User XXXXXX has group access to:  users    
230 OK. Current restricted directory is /
Remote system type is UNIX.
Using binary mode to transfer files.
local: /root/index.html remote: /www/ip/index.html
229 Extended Passive mode OK (|||44358|)
150 Accepted data connection
100% |*******************************************************************************************************************************|   401        1.56 MiB/s    00:00 ETA
226-File successfully transferred
226 0.033 seconds (measured here), 11.89 Kbytes per second
401 bytes sent in 00:00 (6.29 KiB/s)
221-Goodbye. You uploaded 1 and downloaded 0 kbytes.
221 Logout.

Les droits:  

    bash-3.2# ls -l getip.sh                                                                                                                                                    
-rwxr--r--    1 root     root           218 Aug  4 15:08 getip.sh

getip.sh est bien executable, dois je donner les droits au groupe root?

Mon problème:

Évidemment automatiser la tâche, il semble que cron ne soit pas installé , je l'ai donc récupéré puis édité un crontab

Donc: crontab -e

*/1     *       *       *       *       root    sh /root/getip.sh

Ou ceci serait-il plus correct?

*/1     *       *       *       *       root    /root/./getip.sh
 

Si je ne me trompe pas ici je demande que le script soit executé toute les minutes (?)

et le cron étant un outils de IPKG , le crontab doit être dans /opt/etc/init.d/ (?), et pour précision il n'y a pas d'espace que des tab

Je le stop puis start

/opt/etc/init.d/S10cron stop
/opt/etc/init.d/S10cron start  

ps | grep cron

 991 root      4304 S    /usr/sbin/crond
28541 root      3852 S    /opt/sbin/cron
28545 root      4192 S    grep cron

Mais rien ne se passe , et je ne comprends pas du tout, si quelqu'un avait une idée de mon/mes erreur/s je suis preneur, cela fait plusieurs jours que je cherche mais sans sucés. J'ai bien lu différents sujets similaire sur le forum, avec à peu prés les mêmes besoins, mais méthodes différentes sauf pour le crontab, et j'avoue pédaler dans la semoule.

Je ne sais pas quoi modifier, ni vraiment ou...le syno à quelques spécificité comme des sous répertoires /../syno/.. et là je m'y perd un peu.

J'espère avoir été assez clair . Merci par avance.

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

dans n'es un premier temps pourquoi ne pas tout simplement utiliser le nom de domaine de synology qui justement permet la gestion de l'ip variable et gratuitement ?

Dans un second temps, ne serait-ce pas plus simple de rentrer ton script directement dans le planificateur des tâches disponible dans le panneau de configuration (quitte à ne mettre que l'adresse vers un fichier script directement) ?

Lien vers le commentaire
Partager sur d’autres sites

Et si la qualité du service de DDNS de Synology ne te convient pas, tu peux acheter un nom de domaine (~7€/an) chez un registrar qui supporte les enregistrements DynHOST (comme OVH). J'utilise cette solution sur un NAS distant derrière une Livebox et ça fonctionne sans aucun souci depuis 18 mois.

Lien vers le commentaire
Partager sur d’autres sites

Pour test, j'avais programmé plusieurs tâches histoire de voir la quelle fonctionnerait : c'est celle de 02H du mat semble-t-il, puisque la page index.html a été publié à 2H, si c'est correct une autre devrait être publié à 14H. Et dans mon organisation légendaire, je n'ai pas pris de note: génial. Reste à remettre au propre.

Merci..

 

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.