Configuration de la crontab
Modérateur : Francois
Re: Configuration de la crontab
j'ai essayé des les 2 commandes dans Putty
Aucun retour d'erreur (retour au prompt pi@raspberrypi - $) et aucun résultat
Voici le contenu de mon PHP
#!/usr/bin/php
<?php
header('Location: https://smsapi.free-mobile.fr/sendmsg?u ... berry%20OK');
exit;
// urlencode (texte)
?>
(J'ai mis urlencode en commentaire pour un usage futur )
Ceci permet d'envoyer un texto sur mon portable
Je te le rappelle, ce php marche quand on l'appelle depuis un navigateur
Je me demande si je n'ai pas fait une action malencontreuse dans mon RPi ? Comme je l'ai installé depuis peu, est-ce que je n'aurais pas intérêt à le ré-installer complètement ?
Dans ce cas, comment on fait ?
Merci
Aucun retour d'erreur (retour au prompt pi@raspberrypi - $) et aucun résultat
Voici le contenu de mon PHP
#!/usr/bin/php
<?php
header('Location: https://smsapi.free-mobile.fr/sendmsg?u ... berry%20OK');
exit;
// urlencode (texte)
?>
(J'ai mis urlencode en commentaire pour un usage futur )
Ceci permet d'envoyer un texto sur mon portable
Je te le rappelle, ce php marche quand on l'appelle depuis un navigateur
Je me demande si je n'ai pas fait une action malencontreuse dans mon RPi ? Comme je l'ai installé depuis peu, est-ce que je n'aurais pas intérêt à le ré-installer complètement ?
Dans ce cas, comment on fait ?
Merci
Re: Configuration de la crontab
Si cette page marche en étant appelé par ton navigateur alors tu devrais tester la commande de Manfraid :
(en remplaçant bien sur xxx.xxx.xxx.xxx par l'adresse IP ou le hostname de ton RPi et partant du principe que ton fichier envoi_notification.php est à la racine du site web).
Reçois-tu le SMS ?
Si oui, tu peux donc mettre cette ligne dans la crontab.
Pour voir quel PHP est utilisé, tu tapes la commande :
Le système te donnera le chemin complet vers l'interpréteur PHP
C'est ce chemin qu'il faut mettre en début du fichier donc #!/usr/bin/php ou #!/usr/bin/php5 ou ...
Il faut aussi que le script php possède le droit d'exécution (quand tu fais la commande ls -l, tu dois avoir rwx au début de la ligne).
Tu peux ensuite appeler le script :
Ca marche ? Message d'erreur ?
Code : Tout sélectionner
curl http://xxx.xxx.xxx.xxx/envoi_notification.php
Reçois-tu le SMS ?
Si oui, tu peux donc mettre cette ligne dans la crontab.
Pour voir quel PHP est utilisé, tu tapes la commande :
Code : Tout sélectionner
type php
C'est ce chemin qu'il faut mettre en début du fichier donc #!/usr/bin/php ou #!/usr/bin/php5 ou ...
Il faut aussi que le script php possède le droit d'exécution (quand tu fais la commande ls -l, tu dois avoir rwx au début de la ligne).
Tu peux ensuite appeler le script :
Code : Tout sélectionner
./envoi_notification.php
RPi 3 sous Raspbian : connecté au compteur EDF pour la téléinfo
RPi 3 : framboise de test pour OSMC, OpenELEC, LibreELEC, Retrogaming
Stockage : ReadyNAS-RN102 2 x 4 To en miroir
RPi 3 : framboise de test pour OSMC, OpenELEC, LibreELEC, Retrogaming
Stockage : ReadyNAS-RN102 2 x 4 To en miroir
Re: Configuration de la crontab
j'ai répondu , j'ai dû faire une mauvaise manip, je ne retrouve pas mon message. Je recommence...
essai suivant dans /var/www/
./envoi_notification.php
réponse:
-bash: ./envoi_notification.php : /usr/bin/php^M : mauvais interpréteur : Aucun fichier ou dossier de ce type
Je ne comprends pas ce "^M" après php ! il n'y a rien decela dans mon php
Alors que mon php de test (phptest.php qui appelle phpinfo(); )fonctionne bien
ls -l donne
-rwxr-xr-x 1 pi pi .... envoi_notification.php
-rwxr--r-- 1 pi root .... phptest.php
essai suivant dans /var/www/
./envoi_notification.php
réponse:
-bash: ./envoi_notification.php : /usr/bin/php^M : mauvais interpréteur : Aucun fichier ou dossier de ce type
Je ne comprends pas ce "^M" après php ! il n'y a rien decela dans mon php
Alors que mon php de test (phptest.php qui appelle phpinfo(); )fonctionne bien
ls -l donne
-rwxr-xr-x 1 pi pi .... envoi_notification.php
-rwxr--r-- 1 pi root .... phptest.php
Re: Configuration de la crontab
^M c'est parce que ton fichier à été généré sous Windows et transfert sous Linux en binaire et non texte. Le ^M correspond au retour chariot Windows.
Paramètre ton logiciel de transfert (ftp ? winscp ?) Ou renommé ton fichier en .txt avant de le transférer puis change l'extension ensuite.
Envoyé de mon Nexus 5 en utilisant Tapatalk
Paramètre ton logiciel de transfert (ftp ? winscp ?) Ou renommé ton fichier en .txt avant de le transférer puis change l'extension ensuite.
Envoyé de mon Nexus 5 en utilisant Tapatalk
RPi 3 sous Raspbian : connecté au compteur EDF pour la téléinfo
RPi 3 : framboise de test pour OSMC, OpenELEC, LibreELEC, Retrogaming
Stockage : ReadyNAS-RN102 2 x 4 To en miroir
RPi 3 : framboise de test pour OSMC, OpenELEC, LibreELEC, Retrogaming
Stockage : ReadyNAS-RN102 2 x 4 To en miroir
-
- Raspinaute
- Messages : 248
- Enregistré le : mar. 7 oct. 2014 09:46
- Localisation : Morsang / Orge - Essonne
- Contact :
Re: Configuration de la crontab
En voyant ton script je pense que cela ne peux pas marcher en ligne de commande:micsec a écrit : #!/usr/bin/php
<?php
header('Location: https://smsapi.free-mobile.fr/sendmsg?u ... berry%20OK');
exit;
// urlencode (texte)
?>
header est une instruction qui modifie l' entête HTTP et en ligne de commande tu n'es pas dans le cadres du HTTP.
Peut-être avec la commande curl, ou wget.
DS712+ 2x Western Digital WD10EADS-00L 1000 GB (SHR) - Firmware: DSM 6.1.6-15266
Raspberry - RFXTRX433 - Aeon Labs ZStick V2 - Domoticz
FreeBox v6
https://meteo.folcke.net
https://wiki.folcke.net
Raspberry - RFXTRX433 - Aeon Labs ZStick V2 - Domoticz
FreeBox v6
https://meteo.folcke.net
https://wiki.folcke.net
Re: Configuration de la crontab
ok
comme il y a un doute dans l'éditeur et le transfert FTP, j'ai fait l'essai suivant : j'ai repris le fichier phptest.php qui marche, et j'ai mis l'instruction d'appel de l'envoi de SMS
Je n'ai plus l'erreur "^M" mais je ne reçois toujours pas le sms
quel éditeur et quel transfert FTP utilises-tu ?
J'utilise ConTEXT et Filezilla
comme il y a un doute dans l'éditeur et le transfert FTP, j'ai fait l'essai suivant : j'ai repris le fichier phptest.php qui marche, et j'ai mis l'instruction d'appel de l'envoi de SMS
Je n'ai plus l'erreur "^M" mais je ne reçois toujours pas le sms
quel éditeur et quel transfert FTP utilises-tu ?
J'utilise ConTEXT et Filezilla
Re: Configuration de la crontab
C'est un peu plus compliqué que ça n'avait l'air.
Etant aussi chez Free, j'ai activé le service de notification par mail.
Donc, si je t'appelle l'URL https://smsapi.free-mobile.fr/sendmsg?u ... 20World%20! dans le navigateur Web, ça marche.
Dans ta page PHP avec le Header, aussi.
Mais, l'exécution de la page PHP comme un script ne marche pas.
La solution :
curl -k 'https://smsapi.free-mobile.fr/sendmsg?u ... 20World%20!'
wget --no-check-certificate 'https://smsapi.free-mobile.fr/sendmsg?u ... 20World%20!'
Attention a bien mettre une simple cote (') en début et fin d'URL.
Donc le shell :
#!/bin/bash
echo "Envoi SMS"
wget --no-check-certificate 'https://smsapi.free-mobile.fr/sendmsg?u ... ry%20OK%20!'
Maintenant, si tu voulais garder un script PHP pour faire d'autres trucs ensuite, il va falloir trouver comment appeler cette URL en mode batch.
Pour ton histoire de ^M, moi je passe par winscp comme ça d'édite le fichier depuis mon PC sous Windows directement sur le RPi.
Etant aussi chez Free, j'ai activé le service de notification par mail.
Donc, si je t'appelle l'URL https://smsapi.free-mobile.fr/sendmsg?u ... 20World%20! dans le navigateur Web, ça marche.
Dans ta page PHP avec le Header, aussi.
Mais, l'exécution de la page PHP comme un script ne marche pas.
La solution :
curl -k 'https://smsapi.free-mobile.fr/sendmsg?u ... 20World%20!'
wget --no-check-certificate 'https://smsapi.free-mobile.fr/sendmsg?u ... 20World%20!'
Attention a bien mettre une simple cote (') en début et fin d'URL.
Donc le shell :
#!/bin/bash
echo "Envoi SMS"
wget --no-check-certificate 'https://smsapi.free-mobile.fr/sendmsg?u ... ry%20OK%20!'
Maintenant, si tu voulais garder un script PHP pour faire d'autres trucs ensuite, il va falloir trouver comment appeler cette URL en mode batch.
Pour ton histoire de ^M, moi je passe par winscp comme ça d'édite le fichier depuis mon PC sous Windows directement sur le RPi.
RPi 3 sous Raspbian : connecté au compteur EDF pour la téléinfo
RPi 3 : framboise de test pour OSMC, OpenELEC, LibreELEC, Retrogaming
Stockage : ReadyNAS-RN102 2 x 4 To en miroir
RPi 3 : framboise de test pour OSMC, OpenELEC, LibreELEC, Retrogaming
Stockage : ReadyNAS-RN102 2 x 4 To en miroir
Re: Configuration de la crontab
ok
j'ai créé le shell avec wget...
lorsque je l'appelle directement "./envoi_SMS.sh, ça fonctionne bien, je reçois le SMS
Donc une bonne chose
Je suis donc revenu à mon crontab, j'y comprends plus rien, il ne marche plus, même en reprenant le test qui marchait avant
/*5 * * * * pi /home/pi/job.sh (qui enregistre la date dans un fichier)
J'ai vraiment des soucis pour utiliser crontab !
une idée ?
j'ai créé le shell avec wget...
lorsque je l'appelle directement "./envoi_SMS.sh, ça fonctionne bien, je reçois le SMS
Donc une bonne chose
Je suis donc revenu à mon crontab, j'y comprends plus rien, il ne marche plus, même en reprenant le test qui marchait avant
/*5 * * * * pi /home/pi/job.sh (qui enregistre la date dans un fichier)
J'ai vraiment des soucis pour utiliser crontab !
une idée ?
Re: Configuration de la crontab
Et comment ton script job.sh appelle ton envoi_SMS.sh ?
RPi 3 sous Raspbian : connecté au compteur EDF pour la téléinfo
RPi 3 : framboise de test pour OSMC, OpenELEC, LibreELEC, Retrogaming
Stockage : ReadyNAS-RN102 2 x 4 To en miroir
RPi 3 : framboise de test pour OSMC, OpenELEC, LibreELEC, Retrogaming
Stockage : ReadyNAS-RN102 2 x 4 To en miroir
Re: Configuration de la crontab
job.sh :
#!/bin/sh
date >> crontest.txt
crontab -e
##
*/5 * * * * pi /home/pi/job.sh
#
#!/bin/sh
date >> crontest.txt
crontab -e
##
*/5 * * * * pi /home/pi/job.sh
#