Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente |
issue210:c_c [2024/10/28 09:01] – d52fr | issue210:c_c [2024/10/29 17:37] (Version actuelle) – andre_domenech |
---|
Cron | Cron |
| |
Si vous avez déjà tapé « man cron », vous avez peut-être été bombardé d'informations et vous avez essayé d'automatiser quelque chose dans Ubuntu. Et vous avez constaté que cela ne fonctionnait pas. C'est parce qu'Ubuntu a une approche légèrement différente de cron. Cela dit, les principes restent les mêmes. Si vous regardez dans votre dossier /etc, vous remarquerez qu'Ubuntu a plus d'un dossier nommé cron. Tapez cd /etc/cron. une lettre et tabulation pour compléter, pour les voir. | Si vous avez déjà tapé « man cron », vous avez peut-être été bombardé d'informations et vous avez essayé d'automatiser quelque chose dans Ubuntu. Et vous avez constaté que cela ne fonctionnait pas. C'est parce qu'Ubuntu a une approche légèrement différente de cron. Cela dit, les principes restent les mêmes. Si vous regardez dans votre dossier /etc, vous remarquerez qu'Ubuntu a plus d'un dossier nommé cron. Tapez cd /etc/cron. puis tabulation pour compléter, pour les voir. |
| |
Cron ne s'exécute que lorsque l'ordinateur s'exécute, donc si vous fermez votre ordinateur portable, qu'il hiberne ou qu'il dort, cron ne s'exécute pas. Vous avez peut-être remarqué que les fichiers contenus dans mon dossier cron.daily, dans l'image ci-dessous, sont verts. C'est parce que si les fichiers qui s'y trouvent ne sont pas exécutables, ils ne s'exécutent pas. (Cela semble logique, mais vous seriez étonné du nombre de fois où cela a surpris quelqu'un). | Cron ne s'exécute que lorsque l'ordinateur s'exécute et si vous fermez votre ordinateur portable, qu'il hiberne ou qu'il dort, cron ne s'exécute pas. Vous avez peut-être remarqué que les fichiers contenus dans mon dossier cron.daily, dans l'image ci-dessous, sont verts. C'est parce que si les fichiers qui s'y trouvent ne sont pas exécutables, ils ne s'exécutent pas. (Cela semble logique, mais vous seriez étonné du nombre de fois où cela a surpris quelqu'un). |
| |
**We can do a quick example by making a script, and putting it in one of the folders, and see if it runs. Just keep in mind that this method does not give one fine-grained control. By this I mean, the file I put in the daily folder will run every day, but I cannot tell it to run at, say, ten to four in the morning. For that we use another method. | **We can do a quick example by making a script, and putting it in one of the folders, and see if it runs. Just keep in mind that this method does not give one fine-grained control. By this I mean, the file I put in the daily folder will run every day, but I cannot tell it to run at, say, ten to four in the morning. For that we use another method. |
Save it, make it executable with chmod +x and we are ready to go. Always test your scripts first. Once you know it works, remove the folder it created and let's pop it into cron.hourly.** | Save it, make it executable with chmod +x and we are ready to go. Always test your scripts first. Once you know it works, remove the folder it created and let's pop it into cron.hourly.** |
| |
Nous pouvons faire un exemple rapide en créant un script et en le plaçant dans l'un des dossiers, et voir s'il s'exécute. Gardez à l'esprit que cette méthode ne permet pas un contrôle fin. Je veux dire par là que le fichier que je place dans le dossier daily s'exécutera tous les jours, mais que je ne peux pas lui demander de s'exécuter, disons, entre dix et quatre heures du matin. Pour cela, nous utilisons une autre méthode. | Nous pouvons faire un exemple rapide en créant un script et en le plaçant dans l'un des dossiers, et voir s'il s'exécute. Gardez à l'esprit que cette méthode ne permet pas un contrôle fin. Je veux dire par là que le fichier que je place dans le dossier daily s'exécutera tous les jours, mais que je ne peux pas lui demander de s'exécuter, disons, à trois heures cinquante du matin. Pour cela, nous utilisons une autre méthode. |
| |
Ouvrez votre éditeur préféré et créez un simple script : | Ouvrez votre éditeur préféré et créons un simple script : |
| |
#!/bin/sh | #!/bin/sh |
touch here.txt | touch here.txt |
| |
Sauvegardez-le, rendez-le exécutable avec chmod +x et nous sommes prêts à y aller. Testez toujours vos scripts d'abord. Une fois que vous savez qu'il fonctionne, supprimez le dossier qu'il a créé et insérez-le dans cron.hourly. | Sauvegardez-le, rendez-le exécutable avec chmod +x et c'est prêt. Testez toujours vos scripts d'abord. Une fois que vous savez qu'il fonctionne, supprimez le dossier qu'il a créé et insérez-le dans cron.hourly. |
| |
| |
Maintenant, continuez à profiter de votre magazine gratuit et vous pourrez le vérifier à nouveau dans une heure. C'est un moyen facile d'exécuter des scripts, mais si vous passez l'examen LPIC, ils voudront savoir si vous pouvez vous souvenir de la minute, de l'heure, du jour du mois, du mois, du jour de la semaine (m, h, d o m, m, d o w). Dans Ubuntu, cela est visible dans un commentaire utile, mais pour l'examen, ils ne vous le donneront pas, préférant que vous vous souveniez de l'ordre. Vous pouvez utiliser un moyen mnémotechnique, comme « my house of dominoes mowed down » (m, h, d o m, m, d o w), pour vous en souvenir. Si vous avez du mal à visualiser le fonctionnement de la numérotation, je vous suggère de jouer en ligne avec crontab guru : https://crontab.guru/ | Maintenant, continuez à profiter de votre magazine gratuit et vous pourrez le vérifier à nouveau dans une heure. C'est un moyen facile d'exécuter des scripts, mais si vous passez l'examen LPIC, ils voudront savoir si vous pouvez vous souvenir de la minute, de l'heure, du jour du mois, du mois, du jour de la semaine (m, h, d o m, m, d o w). Dans Ubuntu, cela est visible dans un commentaire utile, mais pour l'examen, ils ne vous le donneront pas, préférant que vous vous souveniez de l'ordre. Vous pouvez utiliser un moyen mnémotechnique, comme « my house of dominoes mowed down » (m, h, d o m, m, d o w), pour vous en souvenir. Si vous avez du mal à visualiser le fonctionnement de la numérotation, je vous suggère de jouer en ligne avec crontab guru : https://crontab.guru/ |
| |
Au bas de la page, vous verrez « examples » (exemples). Je vous suggère de les regarder attentivement car je me souviens que les exemples du test étaient exactement ce que vous verrez là. | Au bas de la page, vous verrez « examples ». Je vous suggère de les regarder attentivement car je me souviens que les exemples du test étaient exactement ce que vous verrez là. |
| |
Profitons-en pour faire quelque chose avec crontab (table Cron). N'oubliez pas que crontab est différent pour chaque utilisateur. Vous pouvez spécifier l'utilisateur avec la commande « -u ». Pour l'instant, je veux que vous fassiez ceci avec votre propre utilisateur ou un utilisateur test sur votre système. Si votre système possède un fichier nommé /etc/cron.allow (deny est également valide), et que vous n'y figurez pas, vous ne pourrez pas exécuter crontab. Pour les autres utilisateurs, vous pouvez procéder comme suit : crontab -u seconduser -e (assurez-vous que l'utilisateur existe et écrivez-le correctement !) Ceci est principalement utilisé lorsque vous avez besoin d'exécuter quelque chose en tant que root (soyez prudent ! Et rappelez-vous que vous avez besoin de sudo). | Profitons-en pour faire quelque chose avec crontab (table Cron). N'oubliez pas que crontab est différent pour chaque utilisateur. Vous pouvez spécifier l'utilisateur avec l'ajout « -u ». Pour l'instant, je veux que vous fassiez ceci avec votre propre utilisateur ou un utilisateur test sur votre système. Si votre système possède un fichier nommé /etc/cron.allow (deny est également valide) et que vous n'y figurez pas, vous ne pourrez pas exécuter crontab. Pour les autres utilisateurs, vous pouvez procéder comme suit : crontab -u seconduser -e (assurez-vous que l'utilisateur existe et écrivez-le correctement !) Cela est utilisé principalement lorsque vous avez besoin d'exécuter quelque chose en tant que root (soyez prudent ! Et rappelez-vous que vous avez besoin de sudo). |
| |
| |
There is an ‘at daemon’ running in the background, atd, that will check the job queue for jobs to run. The other thing that comes up that you need to know is that the ‘at’ command submits the job to that very queue. Other than that, it did not go into detail. You may have noticed that there is no man entry for ‘at’ in Ubuntu as it is not installed by default. (It is not difficult to install). So, if you want to know more, I’ll be pointing you to the interwebs as I have limited space in the magazine: https://www.geeksforgeeks.org/at-command-in-linux-with-examples/** | There is an ‘at daemon’ running in the background, atd, that will check the job queue for jobs to run. The other thing that comes up that you need to know is that the ‘at’ command submits the job to that very queue. Other than that, it did not go into detail. You may have noticed that there is no man entry for ‘at’ in Ubuntu as it is not installed by default. (It is not difficult to install). So, if you want to know more, I’ll be pointing you to the interwebs as I have limited space in the magazine: https://www.geeksforgeeks.org/at-command-in-linux-with-examples/** |
| |
Tapez d'abord crontab -l pour voir si un fichier existe, précédemment créé. | Tapez d'abord crontab -l pour voir si un fichier déjà créé existe. |
| |
Le choix est libre, mais comme il s'agit d'un tutoriel pour débutants, j'opte pour nano. | Le choix est libre, mais comme il s'agit d'un tutoriel pour débutants, j'opte pour nano. |
Maintenant, toutes les 5 minutes, mon script s'exécutera. | Maintenant, toutes les 5 minutes, mon script s'exécutera. |
| |
L'autre façon de procéder est d'utiliser at (where de scripts at? - je plaisante). | L'autre façon de procéder est d'utiliser at (où sont ces sacrés scripts - je plaisante). |
| |
Ce que vous devez savoir pour l'examen : | Ce que vous devez savoir pour l'examen : |
| |
Il y a un « démon at », atd, qui tourne en arrière-plan et qui vérifie la file d'attente des travaux à exécuter. L'autre chose que vous devez savoir est que la commande « at » soumet le travail à cette même file d'attente. À part cela, pas besoin de rentrer dans les détails. Vous avez peut-être remarqué qu'il n'y a pas d'entrée man pour « at » dans Ubuntu car elle n'est pas installée par défaut. (Il n'est pas difficile de l'installer). Donc, si vous voulez en savoir plus, je vous dirigerai vers les interwebs car j'ai peu de place dans le magazine : https://www.geeksforgeeks.org/at-command-in-linux-with-examples/ | Il y a un « démon at », atd, qui tourne en arrière-plan et qui vérifie la file d'attente des travaux à exécuter. L'autre chose que vous devez savoir est que la commande « at » soumet le travail à cette même file d'attente. À part cela, pas besoin de rentrer dans les détails. Vous avez peut-être remarqué qu'il n'y a pas d'entrée man pour « at » dans Ubuntu car elle n'est pas installée par défaut. (Il n'est pas difficile de l'installer). Si vous voulez en savoir plus, je vous dirigerai vers les interwebs car j'ai peu de place dans le magazine : https://www.geeksforgeeks.org/at-command-in-linux-with-examples/ |
| |
| |
As always, if I made a mistake: misc@fullcirclemagazine.org** | As always, if I made a mistake: misc@fullcirclemagazine.org** |
| |
Parce que les choses changent dans les examens, et que la dernière fois que j'ai donné un cours sur ce sujet, c'était deux versions avant, je voudrais juste souligner que « at » ne consiste pas seulement en « at » et son démon, il y a d'autres fichiers impliqués, à savoir : | Parce que les choses changent dans les examens et que la dernière fois que j'ai donné un cours sur ce sujet, c'était deux versions avant, je voudrais juste souligner que « at » ne consiste pas seulement en « at » et son démon, il y a d'autres fichiers impliqués, à savoir : |
/usr/bin/at | /usr/bin/at |
/usr/bin/atq | /usr/bin/atq |
Puisque le cours LPIC est agnostique en matière de distro, je vous suggère de classer ces éléments dans un endroit où vous pourrez vous en souvenir si nécessaire. | Puisque le cours LPIC est agnostique en matière de distro, je vous suggère de classer ces éléments dans un endroit où vous pourrez vous en souvenir si nécessaire. |
| |
Le fait de lancer une commande ou un script à un moment donné n'est pas difficile, mais le guide de l'examen LPIC n'a pas fait un bon travail pour expliquer ce sujet facile, en le faisant paraître aussi difficile que possible, en l'expliquant dans le désordre. Ma suggestion est : faites-le, habituez-vous et vous ne l'oublierez pas. | Le fait de lancer une commande ou un script à un moment donné n'est pas difficile, mais le guide de l'examen LPIC n'a pas fait un bon travail pour expliquer ce sujet facile, en le faisant paraître aussi difficile que possible, en l'expliquant dans le désordre. Ma suggestion est : faites-le, habituez-vous y et vous ne l'oublierez pas. |
| |
L'un de mes devoirs préférés consistait à demander aux étudiants de jouer le fichier wave d'un gong toutes les heures via cron. Je vous suggère d'essayer de le faire aussi, puis de le faire jouer toutes les heures et toutes les minutes, et ainsi de suite, en créant un jeu, vous le retiendrez bien mieux que n'importe quelle vidéo Youtube. | L'un de mes devoirs préférés consistait à demander aux étudiants de jouer le fichier wave d'un gong toutes les heures via cron. Je vous suggère d'essayer de le faire aussi, puis de le faire jouer toutes les heures plus une minute, et ainsi de suite. En créant un jeu, vous le retiendrez bien mieux que n'importe quelle vidéo Youtube. |
| |
Comme toujours, si j'ai fait une erreur : misc@fullcirclemagazine.org | Comme toujours, si j'ai fait une erreur : misc@fullcirclemagazine.org |
| |