Page 1 sur 1

Script Bash et Curl cessent de fonctionner

Publié : 22 mars 2015, 08:22
par Christian
Bonjour

J'utilise Domoticz sur une Raspberry B model 2.
Certaines fonctions sont basées sur des scripts Bash utilisant la fonction "curl" avec des commandes du type :
curl 'http://192.168.0.63:8080/json.htm?type= ... On&level=0'&

Ces scripts fonctionnent parfaitement sur une nouvelle installation. Mais après quelques heures (2 jours maxi) ces script ne fonctionnent plus.
Si on les lance en console SSH on obtient les erreurs suivantes (par exemple):
--- 192.168.0.60 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 5.092/5.092/5.092/0.000 ms
/home/pi/domoticz/scripts/Ping_IP_Reseau.sh: line 173: curl: command not found

En tapant en mode console :
curl --h pour l'aide curl, l'erreur est :
-bash: curl: command not found

Impossible de refaire fonctionner curl sans réinstaller la totalité de l'image Domoticz.

J’apprécierais énormément si quelqu’un peut m'aider.
J'avoue ne pas comprendre ce qu'il se passe.
Merci d'avance de votre aide
Cordialement
Christian

Re: Script Bash et Curl cessent de fonctionner

Publié : 22 mars 2015, 09:47
par patrice
Bonjour
En effet c'est pas courant comme problème !!

Avec quel utilisateur tu fais ça ?
Est ce que curl est présent sur le système ?, verifie avec un locate curl (sudo apt-get install mlocate puis sudo updatedb si pas présent sur ta machine) ou un find
si il y est quel est son chemin ?

Que donne un echo $PATH, est ce que tu as modifié des PATH ? dans les .profile /bashrc

et pour finir sudo apt-get install curl

Re: Script Bash et Curl cessent de fonctionner

Publié : 22 mars 2015, 10:16
par Christian
Bonjour Patrice et merci pour ta réponse :

Utilisateur : Pi (avec utilisateur root j'ai la même réponse à curl --h (-bash: curl: command not found)

Locate curl (voici la réponse)
root@raspberrypi:~# locate curl
/etc/php5/conf.d/20-curl.ini
/etc/php5/mods-available/curl.ini
/usr/bin/curl1
/usr/lib/arm-linux-gnueabihf/libcurl-gnutls.so.3
/usr/lib/arm-linux-gnueabihf/libcurl-gnutls.so.4
/usr/lib/arm-linux-gnueabihf/libcurl-gnutls.so.4.2.0
/usr/lib/arm-linux-gnueabihf/libcurl.so.3
/usr/lib/arm-linux-gnueabihf/libcurl.so.4
/usr/lib/arm-linux-gnueabihf/libcurl.so.4.2.0
/usr/lib/gnupg/gpgkeys_curl
/usr/lib/php5/20100525+lfs/curl.so
/usr/share/bash-completion/completions/curl
/usr/share/doc/curl
/usr/share/doc/libcurl3
/usr/share/doc/libcurl3-gnutls
/usr/share/doc/php5-curl
/usr/share/doc/curl/BINDINGS.gz
/usr/share/doc/curl/BUGS.gz
/usr/share/doc/curl/FAQ.gz
/usr/share/doc/curl/FEATURES
/usr/share/doc/curl/KNOWN_BUGS.gz
/usr/share/doc/curl/MANUAL.gz
/usr/share/doc/curl/README
/usr/share/doc/curl/THANKS.gz
/usr/share/doc/curl/TODO.gz
/usr/share/doc/curl/TheArtOfHttpScripting.gz
/usr/share/doc/curl/VERSIONS
/usr/share/doc/curl/changelog.Debian.gz
/usr/share/doc/curl/changelog.gz
/usr/share/doc/curl/copyright
/usr/share/doc/libcurl3/BINDINGS.gz
/usr/share/doc/libcurl3/BUGS.gz
/usr/share/doc/libcurl3/FAQ.gz
/usr/share/doc/libcurl3/FEATURES
/usr/share/doc/libcurl3/KNOWN_BUGS.gz
/usr/share/doc/libcurl3/README
/usr/share/doc/libcurl3/THANKS.gz
/usr/share/doc/libcurl3/TODO.gz
/usr/share/doc/libcurl3/VERSIONS
/usr/share/doc/libcurl3/changelog.Debian.gz
/usr/share/doc/libcurl3/changelog.gz
/usr/share/doc/libcurl3/copyright
/usr/share/doc/libcurl3-gnutls/BINDINGS.gz
/usr/share/doc/libcurl3-gnutls/BUGS.gz
/usr/share/doc/libcurl3-gnutls/FAQ.gz
/usr/share/doc/libcurl3-gnutls/FEATURES
/usr/share/doc/libcurl3-gnutls/KNOWN_BUGS.gz
/usr/share/doc/libcurl3-gnutls/README
/usr/share/doc/libcurl3-gnutls/THANKS.gz
/usr/share/doc/libcurl3-gnutls/TODO.gz
/usr/share/doc/libcurl3-gnutls/VERSIONS
/usr/share/doc/libcurl3-gnutls/changelog.Debian.gz
/usr/share/doc/libcurl3-gnutls/changelog.gz
/usr/share/doc/libcurl3-gnutls/copyright
/usr/share/lintian/overrides/libcurl3
/usr/share/lintian/overrides/libcurl3-gnutls
/usr/share/man/man1/curl.1.gz
/usr/share/php5/curl
/usr/share/php5/curl/curl.ini
/var/cache/apt/archives/php5-curl_5.4.36-0+deb7u3_armhf.deb
/var/lib/dpkg/info/curl.list
/var/lib/dpkg/info/curl.md5sums
/var/lib/dpkg/info/libcurl3-gnutls:armhf.list
/var/lib/dpkg/info/libcurl3-gnutls:armhf.md5sums
/var/lib/dpkg/info/libcurl3-gnutls:armhf.postinst
/var/lib/dpkg/info/libcurl3-gnutls:armhf.postrm
/var/lib/dpkg/info/libcurl3-gnutls:armhf.shlibs
/var/lib/dpkg/info/libcurl3-gnutls:armhf.symbols
/var/lib/dpkg/info/libcurl3:armhf.list
/var/lib/dpkg/info/libcurl3:armhf.md5sums
/var/lib/dpkg/info/libcurl3:armhf.postinst
/var/lib/dpkg/info/libcurl3:armhf.postrm
/var/lib/dpkg/info/libcurl3:armhf.shlibs
/var/lib/dpkg/info/libcurl3:armhf.symbols
/var/lib/dpkg/info/php5-curl.list
/var/lib/dpkg/info/php5-curl.md5sums
/var/lib/dpkg/info/php5-curl.postinst
/var/lib/dpkg/info/php5-curl.postrm
/var/lib/dpkg/info/php5-curl.preinst
/var/lib/dpkg/info/php5-curl.prerm
/var/lib/dpkg/info/php5-curl.triggers
/var/lib/ucf/cache/:etc:php5:mods-available:curl.ini

find curl (la réponse) :
find: `curl': No such file or directory

echo $PATH :
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
Je n'ai modifié aucun PATH. Par exemple hier, le commande curl à cessée de fonctionner ver 23h10 sans action sur le système de ma part.
Depuis cette heure, les valeurs ne sont plus mises à jour car le script se plante.

Enfin le sudo apt-get install curl:
root@raspberrypi:~# sudo apt-get install curl
Reading package lists... Done
Building dependency tree
Reading state information... Done
curl is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

C'est gentil de te pencher sur mon problème, car je ne sais pas quoi faire.
Lorsque j'installe une SD Carte nouvelle (image Domoticz) tout refonctionne bien pour quelques heures ou jours. Puis à nouveau, sans raison apparente, curl cesse de fonctionner.
J'ai particulièrement un script de sauvegarde de la Db Domoticz qui utilise curl et bien sur... plus de sauvegarde !

Merci d'avance pour ton aide
Christian

Re: Script Bash et Curl cessent de fonctionner

Publié : 22 mars 2015, 10:27
par patrice
tu as vu comment il se nomme !!!!

/usr/bin/curl1

pourquoi curl1 ?

Je pense que tu as un script mal foutu quelque part qui te renomme le vrai, le seul, l'unique curl en curl1

Donc teste comme cela
renomme ton curl1 en curl
lance tous les scripts divers et variés que tu lances regulièrement et regarde à chaque fois par un ls /usr/bin/curl* comment il se nomme


Le coupable est un script qui se lance toutes les 2 heures d'ailleurs

Bonne enquete

Re: Script Bash et Curl cessent de fonctionner

Publié : 22 mars 2015, 11:30
par Christian
Re....
Bien vu ! je n'avais pas lu la différence entre curl et curl1.
Effectivement .... ça fonctionne.
me reste plus qu'a trouver le coupable. Pas simple, j'ai fais tourné tous les scripts et aucun ne reproduit le phénomène
L'enquête continue...
En attendant : UN GRAND MERCI, je n'avais rien vu.
Bon Dimanche
Cordialement

Christian