Créer un cronjob
Inscris-toi
(c'est gratuit !)
Un compte est nécessaire pour participer aux discussions.
Créer un compte00:00:00 :Dans cette partie on va créer une tâche récurrente qui est sur Linux un cronjob,donc cronjob comme ceci, qui va en fait exécuter notre script à intervalles réguliers. Alors il
00:00:10 :existe beaucoup de sites qui vous permettent de voir comment créer ces expressions, il y acrontabguru, cronitor qui sont bien connus. Donc crontabguru par exemple vous allez avoir ici toutes
00:00:20 :les valeurs que vous pouvez utiliser. On va tester nous dans notre cas avec des astérisques ici,ce qui signifie qu'on va le faire toutes les minutes. Par la suite on pourra mettre par
00:00:28 :exemple slash 30 ici, ce qui veut dire qu'on va exécuter le script toutes les 30 minutes,on pourrait faire toutes les 15 minutes, etc. On pourrait le faire également tous les jours. Donc
00:00:36 :je vous laisse explorer tout ça pour la syntaxe des cronjobs. Nous dans ce cas-ci on va voircomment créer cette tâche cron pour l'exécuter sur notre VPS. Donc le crontab, on va pouvoir
00:00:45 :l'ouvrir en faisant crontab-e, donc tirer e pour edit, vous pouvez faire tirer l également pourafficher ce qu'il contient. Moi vous voyez que j'ai déjà la ligne qui est inscrite ici. Donc la
00:00:55 :première fois que vous le faites, il est possible que ça vous demande de choisir un éditeur. Doncsi vous faites crontab-e et que vous avez un message comme celui-ci, vous pouvez choisirentre nano ou vim. Moi je vous conseille d'utiliser celui que vous préférez. Nano est un peu plus
00:01:08 :simple comme c'est indiqué, vim il y a plus de gens avancés qui l'utilisent généralement. Doncà vous de voir, vous allez voir que les deux sont assez faciles d'utilisation. Donc moi dans ce cas-ci
00:01:17 :j'ai choisi nano pour vous montrer puisque c'est celui qui est le plus simple et probablementcelui que vous allez donc choisir d'utiliser si vous n'êtes pas familier avec ces outils. Donc on
00:01:26 :va aller tout en bas, là il y a plein d'indications. Si je descends ici, on voit que j'ai déjà donc lecrontab-e qui est fait. Il suffit que j'enlève le petit dièse ici pour l'activer. Donc je vais
00:01:36 :vous montrer comment on peut faire pour récupérer les informations dont on a besoin. On va avoirbesoin du chemin complet vers l'exécutable de Python et du chemin complet vers notre script.
00:01:44 :Donc je valide, je reviens donc dans mon dossier ici et je peux faire un real path de main.py quiva m'afficher le chemin complet vers mon fichier py et on peut faire un witch de Python 3 en ayantbien activé notre environnement. Là on voit qu'on a anv devant ce qui signifie qu'il est bien activé
00:02:00 :sinon on peut l'activer avec source-anv-bin-activate et ensuite si on fait witch-python3 on va bienavoir le chemin complet vers Python 3. Donc la commande complète dont on a besoin c'est celle-ci,
00:02:10 :le nom de l'exécutable, le chemin vers l'exécutable et ensuite le chemin ici vers mon script main.py.C'est la commande au complet qu'on a besoin de lancer et je vais revenir donc sur moncrontab-e pour éditer. Si je descends tout en bas vous pouvez donc créer une nouvelle ligne. On va
00:02:27 :mettre dans ce cas-ci toutes les minutes donc je mets 5 astérisques comme ceci et je mets ensuitele chemin complet vers l'exécutable et le chemin complet vers mon script. Je sauvegarde en faisant
00:02:37 :ctrl-x et je vais sauvegarder en appuyant sur la touche y pour valider. Il me demande si jesouhaite écraser, j'appuie sur entrée pour valider et c'est bon. Si on refait un crontab-l
00:02:48 :on voit qu'on a bien notre ligne qui a été correctement ajoutée ici. Et donc qu'est-cequi se passe ici ? Normalement maintenant c'est automatique, notre script va s'exécuter toutes
00:02:57 :les minutes. Donc ce qu'on peut faire ici c'est aller vérifier le fichier price.json donc si jefais un cat de price.json vous voyez qu'on a deux valeurs donc on a la première valeur qui a été
00:03:07 :exécutée à 14h17 quand j'ai lancé le script tout à l'heure et là on a une nouvelle valeur à 14h20.Ce qu'on peut faire c'est un watch de tail et on peut mettre le nombre de lignes, on va mettre 100pour être large, price.json donc tail ça va afficher la fin du fichier donc les 100 dernières
00:03:22 :lignes du fichier ça devrait être suffisant et watch ça va répéter l'opération toutes les deuxsecondes par défaut si ma mémoire est bonne. Donc je valide et là on voit qu'on a déjà une nouvelle
00:03:31 :entrée ici donc price234 timestamp avec 14h23 donc il a été exécuté 14h23 et 6 secondes là onest à 14h23 et 23 secondes donc on va attendre une nouvelle rotation à partir de 14h24 on vaavoir une nouvelle entrée puisque quand on fait toutes les minutes ça va être à la minute pile
00:03:49 :donc à 14h24 le script va être exécuté et probablement que le temps que le script rouleil y a quelques secondes qui vont se passer pour pouvoir se connecter sur le proxy de Bright Data,récupérer les informations et les écrire dans le fichier. Donc on va attendre encore quelques
00:04:04 :secondes pour qu'on arrive à 14h24 et là on a normalement tout qui est déjà fonctionnel c'est àdire que si jamais on avait la chance d'avoir une chute de prix à ce moment là entre les deux logset bien je recevrai déjà une alerte sur mon téléphone. Je pense pas qu'on va avoir cette
00:04:18 :chance là mais sait-on jamais. Donc là on devrait arriver à la nouvelle ligne qui va s'écrire vousallez voir c'est assez magique ça devrait arriver à moins qu'il y ait un problème il se peut qu'ily ait des problèmes si notre ip est bloqué du côté de Bright Data on va voir comment enlever ça
00:04:32 :mais là non ça a bien marché donc on voit qu'on a cette ligne qui est apparue et qui a été rajoutée14h24 donc là ça a été un peu plus long mais ça fonctionne bien. Donc je vais sortir de cette
00:04:41 :commande avec ctrl c pour arrêter on va éditer notre crontab pour ne pas faire de requête inutilepour le moment donc je vais remettre un dièse ici je valide avec ctrl x je save avec y je valideavec entrée. Alors si ça ne marche pas je vous ai dit que ça peut être Bright Data qui va bloquer
00:04:58 :l'ip de votre vps donc pour ça il faut aller indiquer qu'il ne va pas être dans la liste desip bloqués donc je vais aller dans mon tableau de bord sur proxy et scrapping infrastructure onva aller sur notre web unlocker et vous allez voir si je me trompe pas c'est dans access parameter
00:05:13 :là vous voyez qu'on va avoir les blocked ip et le allowed ip. Donc blocked ip ça se peut quevous voyez votre ip ici qui est l'ip en fait de votre serveur infomaniac donc cet ip ici alorssi jamais vous voyez cet ip qui est dans la liste des ip bloqués je vais l'ajouter pour vous montrer
00:05:28 :ce que ça donne donc si vous avez votre ip comme ça il faut l'enlever de la liste des ip bloquéset l'ajouter dans la liste des ip autorisés donc ça c'est des mesures de précaution qui sont misesen place vous pouvez choisir d'accepter ou de bloquer certains ip vous pouvez aussi choisir
00:05:41 :les hostname qui vont être disponibles donc si vous voulez cibler ou bloquer certains sites avecvotre web unlocker c'est possible et donc le fait de rajouter votre ip ici ça vous assure que vousn'aurez pas de problème et que votre vps ne sera pas bloqué si jamais attention vous faites des
Ce n'est pas fini...
✋
Tu as complété % du parcours 🔥
Termine l'intégralité de la formation pour pouvoir débloquer ton attestation de réussite.