Artizer Posté(e) le 7 mars 2017 Partager Posté(e) le 7 mars 2017 (modifié) Bonjour tous le monde, Depuis quelques jours je m'arrache les cheveux à tenter de créer un Cron Job qui as pour but de poster un tweet (prédéfini) toutes les deux heures. Pour mettre en oeuvre cela, j'ai d'abord créer le dossier "Tweet" dans le dossier "web" de mon syno DS213, ensuite j'ai été sur "https://apps.twitter.com" pour créer une app et ainsi obtenir mes API Keys (pour ceux que cela intéresse, je me suis basé sur la première partie de ce tuto en anglais - http://www.pontikis.net/blog/auto_post_on_twitter_with_php). Puis j'ai donc placer les fichiers nécéssaire dans mon dossier "Tweet", j'ai opter pour ce script php (https://github.com/vickythegme/cron-job-twitter) en suivant ce tuto toujours en anglais - http://vickythegme.com/set-up-cron-job-twitter-api/ Ensuite et pour finir, j'ai configurer mon Cron Job en suivant ce tuto (en français cette fois-ci) http://www.maxy.fr/article/programmer-une-tache-cron-depuis-un-nas-synology J'ai donc juste changer les script en mettant à la place ceci : /usr/bin/php /volume1/web/Tweet/cron.php Voilà pour la première partie. Si quelqu'un connait ou as envie de me donner une meilleure solution, un meilleur script ou tout simplement commenter ma façon de faire, je suis ouvert à toutes propositions !!! ;-) RÉSULTATS : Lorsque j'exécute ma tache Cron, j'obtient ceci (voir image) Apparement la tache s'execute bien mais le problème est que rien n'apparait dans la timeline de mon compte Twitter. Je cherche et re-cherche depuis plusieurs jours d'ou peut venir le problème mais rien n'y fait, impossible de trouver. Est-ce un problème de droit de fichiers et de dossier ? un problème lier à la sécurité de mon Nas ? un problème lier à mon code php ? ...etc Si une bonne âme charitable passe par ici, et souhaite me venir en aide, je suis toute ouïe ! Modifié le 12 mars 2017 par Artizer Problème résolu 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Einsteinium Posté(e) le 7 mars 2017 Partager Posté(e) le 7 mars 2017 Tu as testé déjà ton script en locale ? Avant de vouloir le mettre en tâche planifier ?? 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Artizer Posté(e) le 7 mars 2017 Auteur Partager Posté(e) le 7 mars 2017 Oui, j'ai tester, il n'y a pas d'erreur, j'ai l'impression que le script s'execute bien puisque je voit qu'il communique avec l'extérieur mais rien n'apparait dans ma timeline, c'est idem ! J'ai verifier et encore verifier mes paramètre php, je suis en php 5.6 et j'ai bien activer CURL extension qui est en version 7.50.3 et j'ai bien aussi activer OpenSSL en version 1.0.2j 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Einsteinium Posté(e) le 7 mars 2017 Partager Posté(e) le 7 mars 2017 Ah je viens de voir... tu n'as pas mis le -f dans ta ligne de commande 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Fenrir Posté(e) le 7 mars 2017 Partager Posté(e) le 7 mars 2017 Sinon les call http ça marche bien aussi (je trouve ça plus pratique car portable et utilisable à distance) 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Artizer Posté(e) le 8 mars 2017 Auteur Partager Posté(e) le 8 mars 2017 Il y a 5 heures, Einsteinium a dit : Ah je viens de voir... tu n'as pas mis le -f dans ta ligne de commande J'en avait fait deux ;-) une avec et une sans histoire de tester et le résultat est idem !!! Il y a 5 heures, Fenrir a dit : Sinon les call http ça marche bien aussi (je trouve ça plus pratique car portable et utilisable à distance) Merci, si tu avait des exemples ca serait un peu plus intéressant. 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Einsteinium Posté(e) le 8 mars 2017 Partager Posté(e) le 8 mars 2017 Bizarre, je viens testé est aucun soucis de mon côté... l'exécution ce fait en root ? 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Fenrir Posté(e) le 8 mars 2017 Partager Posté(e) le 8 mars 2017 wget http://localhost/api.php 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Artizer Posté(e) le 8 mars 2017 Auteur Partager Posté(e) le 8 mars 2017 Bon y a du nouveaux, en local ça fonctionne! Le tweet apparaît bien dans ma timeline mais via une Cron dans le Nas, ça bloque toujours! Le script s'exécute bien puisque ça affiche "Normal(0)" mais rien n'apparaît dans ma timeline. De plus, j'ai cocher la case envoyer un e-mail mais aucun e-mail n'est envoyer ou reçu !!!Une petite idée !?Envoyé de mon iPad en utilisant Tapatalk 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Einsteinium Posté(e) le 8 mars 2017 Partager Posté(e) le 8 mars 2017 Bon Sinon fait un script.sh que tu renseigne dans l'exécution et dedans : #!/bin/sh curl "adresse" & exit 0 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Artizer Posté(e) le 8 mars 2017 Auteur Partager Posté(e) le 8 mars 2017 (modifié) Oui, c'est ce que j'aurais voulu faire un script .sh mais j'ai chercher avec mon ami Google et je suis totalement newbies en la matière et je ne sais pas comment coder ça ! Je gère un peu le pyton, le php et le html mais ca....!? Envoyé de mon iPad en utilisant Tapatalk Modifié le 8 mars 2017 par Lucien77 Inutile de citer le post précédent 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Einsteinium Posté(e) le 8 mars 2017 Partager Posté(e) le 8 mars 2017 Bah je viens te de l'écrire... ta juste l'adresse à mettre et le mettre dans cesuetuveux.sh 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Artizer Posté(e) le 8 mars 2017 Auteur Partager Posté(e) le 8 mars 2017 (modifié) Ah ok, j'avais pas compris, donc à la place de "adresse" je place l'emplacement de mon script php!!? C'est bien ca! Si oui j'essaierai ça cette nuit! Merci à toi pour ton aide Modifié le 9 mars 2017 par Lucien77 Inutile de citer le post précédent 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Fenrir Posté(e) le 8 mars 2017 Partager Posté(e) le 8 mars 2017 adapte ton script php pour qu'il soit utilisable via un navigateur (pas besoin de page html, il doit juste accepter les post ou les get et les traiter) vérifie qu'en l'appelant depuis un navigateur ça fonctionne (test avec un get, c'est plus facile) http://adresse.de.ton.nas/script.php?action=test ensuite test cette même adresse en ssh avec curl si c'est bon, ajoute une authentification basic et transforme le get en post (c'est plus propre) nb : si tu es plus à l'aise avec python, il y a un paquet sur le syno 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Artizer Posté(e) le 8 mars 2017 Auteur Partager Posté(e) le 8 mars 2017 (modifié) Ok merci à toi pour toutes ces précisions qui me seront sûrement très utile pour cette nuit de test! J'ai encore passé la nuit dernière à tenter de résoudre le problème qui maintenant bloque uniquement sur le Nas, en local tout fonctionne ! Je vous tiens au jus de l'avancer Merci à tous Modifié le 9 mars 2017 par Lucien77 Inutile de citer le post précédent 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Artizer Posté(e) le 9 mars 2017 Auteur Partager Posté(e) le 9 mars 2017 Bon, je viens vous donner des news !!! Donc, avec un bash du style : #!/bin/sh curl "/volume1/web/mondossier/montweet.php" & exit 0 ca ne fonctionne toujours pas !!! grrr Maintenant, si je passe par une URL directement du style "http://adresse.de.mon.nas/mondossier/montweet.php ca fonctionne nickel, mais c'est une requête GET Donc si je comprends tout bien, je dois faire : #!/bin/sh curl "http://adresse.de.mon.nas/mondossier/montweet.php" & exit 0 et ca devrait fonctionner !? 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Fenrir Posté(e) le 9 mars 2017 Partager Posté(e) le 9 mars 2017 Il y a 7 heures, Artizer a dit : Donc, avec un bash du style : #!/bin/sh curl "/volume1/web/mondossier/montweet.php" & exit 0 ca ne fonctionne toujours pas !!! grrr c'est normal, curl c'est pour appeler une URL, pas un fichier 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Einsteinium Posté(e) le 9 mars 2017 Partager Posté(e) le 9 mars 2017 Oui, j'avais écrit adresse et pas emplacement 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Artizer Posté(e) le 10 mars 2017 Auteur Partager Posté(e) le 10 mars 2017 Bon, je viens aux nouvelles et c'est trop trop bizarre ! J'ai donc fait cela : #!/bin/sh curl "http://adresse.de.mon.nas/mondossier/montweet.php" & exit 0 et la chose bizarre est que lorsque j'execute la tache pour tester, en cliquant simplement sur le bouton "Éxecuter", tout ce passe bien et le tweet apparait bien dans ma timeline. Mais lorsque je laisse la tache activer pour s'exécuter toutes les 2 heures, rien ne se passe !!! Rien dans ma timeline, aucun mail de retour...etc mais pourtant lorsque je visionne le résultat, ca m'affiche toujours "Normal(0)". Une petite idée d'ou cela pourrait provenir ? J'avoue que tout ca m'embête beaucoup, surtout de ne pas réussir a faire passer cette Cron en php car j'avais pour ambition de créer un script php qui générerait des tweet aléatoires! 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Einsteinium Posté(e) le 10 mars 2017 Partager Posté(e) le 10 mars 2017 Donc c'est le gestionnaire de tâches planifiées qui merde, ou une autre tâche qui boucle et bloque l'ensemble peu être... 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Artizer Posté(e) le 10 mars 2017 Auteur Partager Posté(e) le 10 mars 2017 Hum, c'est trop chelou, la ca marche !!! Du moins un tweet vient d'apparaître dans ma timeline!Je vous tiens au jus de la suite 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Artizer Posté(e) le 12 mars 2017 Auteur Partager Posté(e) le 12 mars 2017 Bon, je viens vous donner des news et placer le sujet comme résolu ! En fait le problème venait de l'API Twitter qui empêche de poster le même tweet en mode robot !!! Grrrrr Juste une dernière question, il y a moyen avec un script bash qui irait prendre aléatoirement dans le meme dossier un fichier php! Genre dans un dossier sont placés 30 fichier php, nommer comme ceci : - tweet_A.php, tweet_B.php, tweet_C.php, tweet_D.php ...etc Et le script bash en execute un aléatoirement ! Merci à tous pour votre aide précieuse ! ;-) 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Fenrir Posté(e) le 12 mars 2017 Partager Posté(e) le 12 mars 2017 echo $((1 + RANDOM % 30)) je te laisse chercher comment utiliser ça avec un "for ls" 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Artizer Posté(e) le 12 mars 2017 Auteur Partager Posté(e) le 12 mars 2017 Ok merci à toi 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
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.