Sorry guys, been spending the month in the hospital, so I’m doing this month’s command and conquer from my other computer. This means I cannot remember where we were precisely, so rather than re-doing something we have done, or skipping something, let’s skip to another part of the LPIC exam people have issues with. Cron So if you ever typed ‘man cron’, you may be bombarded with information, and tried to automate something in Ubuntu. Aaaaand found it did not work. This is because Ubuntu has a slightly different take on cron. That said, the principles are still the same. If you look in your /etc folder, you will notice that Ubuntu has more than one folder named cron. Type cd /erc/cron. - and tab to complete to see them. Cron runs only when the computer does, so if you close your laptop and it hibernates or sleeps, cron does not run. You may have noticed that the files inside *my cron.daily folder, in the image, is green. That is because if the files in there are not executable, they do not run. (Sounds logical, but you would be surprised at how often it bowled someone over).
Désolé les gars, j'ai passé le mois à l'hôpital, donc je fais le Command & Conquer de ce mois à partir de mon autre ordinateur. Cela signifie que je ne peux pas me rappeler précisément où nous en étions ; alors plutôt que de refaire quelque chose que nous avons fait, ou de sauter quelque chose, passons à une autre partie de l'examen LPIC avec laquelle les gens ont des problèmes.
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. puis tabulation pour compléter, pour les voir.
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. Open your favourite editor and let’s make a simple script: #!/bin/sh mkdir -p ~/fcm cd ~/fcm touch here.txt 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, à trois heures cinquante du matin. Pour cela, nous utilisons une autre méthode.
Ouvrez votre éditeur préféré et créons un simple script :
#!/bin/sh
mkdir -p ~/fcm cd ~/fcm touch here.txt
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.
Now continue to enjoy your free magazine and you can check it again in an hour. This is an easy way to run scripts, however if you take the LPIC exam, they will want to know if you can remember the minute, hour, day of month, month, day of week. In Ubuntu, it is visible in a helpful comment, but for the exam, they will not give it to you, instead wanting you to remember the order. You can use a mnemonic, like my house of dominoes mowed down, to remember it. If you have trouble visualising how the numbering works, I suggest playing online with crontab guru: https://crontab.guru/ At the bottom of the page, you will see “examples” – I suggest you look closely at those as I recall examples in the test were exactly what you saw there. Let us use this time to do something with crontab (Cron table). Please remember that crontab is different per user. You can specify the user with the tack: -u For now, I want you to do this with your own user or a test user on your system. If your system has a file named /etc/cron.allow (deny is also valid), and you are not listed in there, you will not be able to run crontab. For other users you can do it like this: crontab -u seconduser -e (make sure the user exists, so spell correctly!). This is mainly used when you need to run something as root (be careful! And remember you need sudo).
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 ». 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 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).
Please type crontab -l first to see if you have an existing file created. The choice here is up to you, but as it is a newbie tutorial, I’m going with nano. Here in this Image, you can see the helpful “m h dom mon dow command” in the comments. We edit it like shown below. Now every 5 minutes, my script will run. The other way you need to know is using at (where de scripts at? - just kidding). What you need to know for the exam: 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 déjà créé existe.
Le choix est libre, mais comme il s'agit d'un tutoriel pour débutants, j'opte pour nano.
Dans l'image ci-dessous, vous pouvez voir l'utile « m h dom mon dow command » dans les commentaires.
Nous l'éditons comme indiqué ci-dessous.
Maintenant, toutes les 5 minutes, mon script s'exécutera.
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 :
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/
Because things change in exams, and the last time I gave a class in this, it was two exam versions ago, I’d just like to point out that ‘at’ does not only consist of ‘at’ and its daemon, there are other files involved, namely: /usr/bin/at /usr/bin/atq /usr/bin/atrm /usr/bin/batch /usr/sbin/atd /usr/sbin/atrun Since the LPIC course is distro agnostic, I’d suggest you file these away somewhere that you can recall them if needed. The whole ‘running a command or script at a certain time’ is not hard, but the LPIC exam guide did a poor job of explaining this easy topic, instead making it seem as difficult as possible, explaining from the arse end up. My suggestion is do it, get used to it, and you will not forget it. A favourite of mine for homework, was to get students to play a gong wave file every hour via cron. I suggest you try and do that too, then maybe make it play every hour and one minute and so forth, making a game out of it will make it stick much better than any Youtube video will. 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 : /usr/bin/at /usr/bin/atq /usr/bin/atrm /usr/bin/batch /usr/sbin/atd /usr/sbin/atrun
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 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 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