Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 02/05/2013, à 16:14

Bruno666

[Résolu] script qui tourne manuellement et pas avec cron

Bonjour,

J'ai un petit souci avec un script sur mon serveur ubuntu 10.04 (je sais je sais il date un peu ...:D ).

mon script est un script bash et il a une ligne :
pon ma_connexion_vpn updetach
quelques lignes et une ligne rsync mon_nas_distant mon_serveur_local
et une ligne poff ma_connexion_vpn

le souci est que si je lance cette commande par cron, le vpn se connecte, les routes sont bonnes mais il me met un timeout sur l'accès au nas distant avec rsync (sur le nas le deamon rsync tourne sur le port 873) un telnet me le confirme. et donc pas de sauvegarde des données du nas vers mon serveur.

par contre si je lance ce script manuellement au travers d'une interface putty, le script fonctionne à merveille.... et la sauvegarde se fait...

Bizarre non ?

Dernière modification par Bruno666 (Le 16/05/2013, à 09:47)

Hors ligne

#2 Le 02/05/2013, à 16:46

Eco-Cystemes

Re : [Résolu] script qui tourne manuellement et pas avec cron

Bonjour Bruno,

Ton script il commence bien par #!/bin/bash ?
Il est bien exécutable (ls -l et voir s'il a x ) ?


Eco-Cystemes : Opensource Made In France -- www.eco-cystemes.com

Hors ligne

#3 Le 02/05/2013, à 17:18

Bruno666

Re : [Résolu] script qui tourne manuellement et pas avec cron

Oui il commence bien par #!/bin/bash
et il est exécutable (755) avec desjolis x smile

d'ailleurs lorsque je le lance manuellement il fonctionne (avec ./le_nom_du_script)
même avec la commande sh il fonctionne.

s'il n'était pas exécutable il n'aurait pas non plus  fonctionné en mode manuel.

Dans les tests, lorsque cron lance le script je lance une autre fenêtre putty et je test que le vpn est ouvert et j'arrive à pinguer le nas distant sans problème, ce qui m'amène à dire que lorsque le script se lance automatiquement ou manuellement la connexion vpn se fait bien et le nas distant est accessible.
C'est juste Rsync qui ne fonctionne pas en automatique et correctement en manuel....

pour info cron le lance en root ...

Hors ligne

#4 Le 02/05/2013, à 17:21

Brunod

Re : [Résolu] script qui tourne manuellement et pas avec cron

La séquence des actions n'est pas trop rapide, de sorte que le lien n'est pas encore établi lors du lancement de rsync ?


Windows est un système d'exploitation de l'homme par l'ordinateur. Linux, c'est le contraire...
39 pc linux convertis

Hors ligne

#5 Le 02/05/2013, à 17:40

Bruno666

Re : [Résolu] script qui tourne manuellement et pas avec cron

Je m'étais posé la même question et je mis la ligne de connexion vpn dans un autre fichier sh, que j'appelle depuis mon script de sauvegarde contenant rsync.

mais non cela n'y fait rien....

par contre j'ai plusieurs lignes de rsync qui sont lancées avant mais en local (en gros j'ai des lignes rsync qui vont sauvegarder des éléments locaux vers un dossier centralisateur qui sera plus tard copié sur un serveur distant, et ce sur le même script, car mon script fait plusieurs lignes)

Du coup entre le lancement de la connexion vpn et le lancement de la ligne rsync sur le nas distant, il se passe au moins 4 à 5 secondes, suffisamment pour établir la connexion et créer la route correspondante (route créée par pptp).

D'ailleurs lorsque cron lance le script, rsync est en attente de connexion, et si j'ouvre une autre fenêtre, j'arrive à pinguer et à lancer un telnet sur le nas distant sans problème....

Allez je viens de mettre un sleep à 20 secondes juste avant le rsync et re-belote, timout...

rsync: failed to connect to ip_du_nas: Connection timed out (110)
rsync error: error in socket IO (code 10) at clientserver.c(122) [Receiver=3.0.7]

un truc de fou....

Dernière modification par Bruno666 (Le 02/05/2013, à 18:01)

Hors ligne

#6 Le 03/05/2013, à 09:50

Eco-Cystemes

Re : [Résolu] script qui tourne manuellement et pas avec cron

Tu peux nous donner un apercu d'une des lignes de commande rsync ?


Eco-Cystemes : Opensource Made In France -- www.eco-cystemes.com

Hors ligne

#7 Le 07/05/2013, à 01:02

Bruno666

Re : [Résolu] script qui tourne manuellement et pas avec cron

Ok je vous donne à mon retour de New York

Hors ligne

#8 Le 07/05/2013, à 09:46

Eco-Cystemes

Re : [Résolu] script qui tourne manuellement et pas avec cron

On va te laisser croquer la pomme à pleine dent alors wink On verra à ton retour.

Enjoy !


Eco-Cystemes : Opensource Made In France -- www.eco-cystemes.com

Hors ligne

#9 Le 12/05/2013, à 15:21

Bruno666

Re : [Résolu] script qui tourne manuellement et pas avec cron

Bonjour,
Me voici de retour de big apple (pas la marque d'iphone..... big_smile quoique je me suis offert l'iphone 5 pour remplacer mon vieux 3g qui n'en pouvait plus....).
Une ville extraordinaire, un super voyage, mais trop court.....

Bon revenons à nos moutons...
voici une copie du script
*************************************
#!/bin/bash
pon connection_vpn_home updetach

sleep 20

rsync -rlDvz -O --modify-window=1 --delete --safe-links /backup rsync://192.168.10.253:873/network_backup/

poff connection_vpn_home
***********************************************

et le message d'erreur que je reçois par mail :
rsync: failed to connect to 192.168.10.253: Connection timed out (110)
rsync error: error in socket IO (code 10) at clientserver.c(122) [sender=3.0.7]

si je lance ce script à la main avec la commande sh mon_script.sh la sauvegarde se fait sans problème, ce n'est uniquement lorsque je le lance par cron (et il est en 777 ...)

Dernière modification par Bruno666 (Le 12/05/2013, à 15:24)

Hors ligne

#10 Le 13/05/2013, à 11:54

Eco-Cystemes

Re : [Résolu] script qui tourne manuellement et pas avec cron

Salut Bruno,

C'est vrai que c'est une ville magique ... revenons à nos moutons (c'est en parlant d'Iphone que j'ai pensé aux moutons tongue)...car il faut vraiment s'accrocher pour faire cohabiter Iphone et Ubuntu ... mais ce sera un autre sujet wink

D'après tes logs, as-tu joué un peu avec les fichiers inetd.conf et rsyncd.conf ?

Si oui, peux tu nous transmettre les parties propres à rsync ?
Si non, alors je te donnerais les configs à rajouter qui pourraient résoudre ton problème.


Eco-Cystemes : Opensource Made In France -- www.eco-cystemes.com

Hors ligne

#11 Le 13/05/2013, à 14:06

Bruno666

Re : [Résolu] script qui tourne manuellement et pas avec cron

Salut Eco,

Non je n'ai pas touché aux fichiers inetd (tout est commenté avec le #) et rsyncd.conf (d'ailleurs je n'ai pas de rsyncd.conf qui sont en fonctionnement, le seul qui existe est dans le dossier exemple de rsync) sinon j'ai des rsync dans différents dossier comme le dossier /etc/default

J'ai supprimé toutes le lignes commenté du fichier rsync (a part la première ligne) histoire que ce soit plus lisible....

# defaults file for rsync daemon mode
RSYNC_ENABLE=false
RSYNC_OPTS=''
RSYNC_NICE=''

mais mon script qui utilise Rsync est plus long que ce que j'ai mis car j'ai plusieurs lignes concernant les sauvegardes car il récupère des fichiers sur d'autres serveurs (et ça fonctionne très bien sur les autres serveurs) seules les lignes correspondantes à la sauvegarde sur le NAS qui est derrière un routeur cisco joignable qu'au travers du VPN (d'où la ligne "pon connection_vpn_home updetach") ne fonctionne pas en automatique (avec cron) alors qu'en mode manuel avec sh.... ça fonctionne nickel (et comme tout bon informaticien je suis fainéant... donc j'automatise au maximum smile   )

Hors ligne

#12 Le 13/05/2013, à 14:19

Eco-Cystemes

Re : [Résolu] script qui tourne manuellement et pas avec cron

Automatiser est le but ultime de l'informaticien wink

On est d'accord que les fichiers en question inetd.conf et rsyncd.conf sont ceux présents sur ton serveur de destination (ton NAS) (qui va interpréter tes commandes rsync et qui va recevoir les données) ?


Eco-Cystemes : Opensource Made In France -- www.eco-cystemes.com

Hors ligne

#13 Le 13/05/2013, à 15:03

LapiGNU

Re : [Résolu] script qui tourne manuellement et pas avec cron

Salut,

une rapide recherche sur pon updetach renvoie sur http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=626939 ... Je dis ça de très loin, je n'utilise pas ppp, et plus la 10.04, mais on dirait bien qu'il y a des similitudes. Hoplà ?


frenchKISS sur www.tchitcha.info, Ubuntu clé en main pour les réseaux de postes de travail.
et surtout : Sauvez les arbres, mangez des castors. Sauvez les castors, ne mangez pas d'arbres !

Hors ligne

#14 Le 15/05/2013, à 19:09

Bruno666

Re : [Résolu] script qui tourne manuellement et pas avec cron

Bon j'ai fait pas mal de test et je pense que j'ai résolu mon problème....

je taguerai résolu demain si ça fonctionne bien cette nuit....

En fait Lapignu, ton  lien était sympa mais cela n'était pas la réponse, mais je te remercie de ta recherche.
Merci aussi à Eco-Cystems d'avoir passé du temps dessus....

En fait j'ai refais un petit script juste avec la connexion vpn et un ping le tout redirigé vers un fichier log et une erreur apparaissait :

sh : pptp: command not found.

en fait lorsque j'étais loggué, mon compte avec le path vers le fichier pptp (/usr/bin) mais lorsque le script se lance en automatique il ne trouve pas le fichier... j'ai donc ajouté la ligne au début de mon script :

export PATH=$PATH:/usr/sbin/

et mon test à l'air de bien fonctionner, même le script de sauvegarde à eu l'air de fonctionner cet après-midi pour le test (j'avais modifier la table cron pour avoir un lancement cet AM), mais j'attends de voir demain matin si je reçois un message d'erreur par mail, car parfois la nuit il se passe des trucs de fou..... surtout pendant la pleine lune big_smile

Dernière modification par Bruno666 (Le 15/05/2013, à 19:09)

Hors ligne

#15 Le 16/05/2013, à 09:48

Bruno666

Re : [Résolu] script qui tourne manuellement et pas avec cron

C'est bon cela fonctionne.

Les sauvegardes se font de nouveaux correctement et de façon automatisées...

Je vais pouvoir de nouveau dormir tranquillement....

Merci à tous

Hors ligne