Anas Mokhtari a.mokhtari@ump.ac.ma - anas.mokhtari@gmail.com
2020/2021 SICS Administration système ENSAO
1 Gestion des tâches régulières par cron
1.1 Manipulation des tâches crontab 1. Vérifier dans le répertoire /var/spool/cron/ si un utilisateur a des tâches plani- fiées. 2. Créer un crontab utilisateur pour lancer la commande date au prochain redémar- rage de la machine. Rediriger le résultat vers le fichier /home/sics/la_date.txt. 3. Redémarrer le système, puis consulter le fichier la_date.txt. 4. Soit la tâche planifiée suivante : * * * * * echo "Bonjour, il est $(date +%R)." >> /home/sics/les_dates.txt Expliquer le fonctionnement de cette tâche. 5. Ajouter cette tâche à votre crontab. 6. Afficher les tâches planifiées. 7. Vérifier le contenu du fichier les_dates.txt après quelques minutes. Nous allons créer un script shell qui archive le rapport rédigé chaque fin de semaine (samedi) avant midi. Son principe de fonctionnement est comme suit : — Le script vérifie la présence du rapport rapport.txt dans le répertoire /tmp. — Si le rapport existe, il sera archivé vers archive-JJ-MM-AA-HH-MM-SS.tar. — Si le rapport n’existe pas, un fichier vide sera créé (archive-JJ-MM-AA-HH-MM-SS.tar.txt). Le script archiver.sh est comme suit : #!/bin/bash if [ -f /tmp/rapport.txt ] then tar cvf /tmp/$(date +%d-%m-%y-%H-%M-%S).tar /tmp/rapport.txt rm /tmp/rapport.txt else touch /tmp/$(date +%d-%m-%y-%H-%M-%S).tar.txt fi exit 0 8. Créer ce script par un éditeur de texte. 9. Ajouter au script le droit d’exécution. 10. Lancer le script pour le tester. 11. Vérifier l’existence du fichier vide. 12. Créer le rapport rapport.txt 13. Relancer le script. 14. Vérifier l’existence de l’archive. 15. Automatiser l’exécution de ce script (tâche système) pour qu’il soit lancé tous les mercredis de midi à 18h00 toutes les deux minutes. 16. Après quelques minutes, vérifier la présence des archives dans le répertoire /tmp.
TP4 1/3 2020/2021
SICS Administration système ENSAO
1.2 Manipulation de l’accès à cron
17. Créer le fichier /etc/cron.allow. 18. Essayer d’ajouter une tâche dans votre crontab. 19. Avez-vous eu le droit d’ajout ? pourquoi ? 20. Ajouter votre nom (login) dans ce fichier. 21. Réessayer d’ajouter une tâche dans votre crontab. 22. Avez-vous pu ajouter cette tâche ? 23. Supprimer /etc/cron.allow puis créer /etc/cron.deny. 24. Essayer d’ajouter une tâche dans votre crontab. 25. Avez-vous eu le droit d’ajout ? 26. Ajouter votre nom (login) dans ce fichier. 27. Réessayer d’ajouter une tâche dans votre crontab. 28. Avez-vous pu ajouter cette tâche ? 29. Ajouter votre nom dans le fichier /etc/cron.allow. 30. Réessayer d’ajouter une tâche dans votre crontab. 31. Qu’est-ce que vous constatez ?
2 Gestion des tâches par at
La différence principale entre cron et at est que la première est utilisée pour la plani- fication des tâches à exécution répétitive, alors que la deuxième s’utilise pour planifier des tâches à exécution unique.
2.1 Manipulation des tâches par at
32. Programmer la création des répertoires Abc, Def et Ghi dans les 5 prochaines minutes. 33. Lister juste après les jobs en attente. 34. Vérifier, après 5 minutes, la création des répertoires précités. 35. Lister les jobs en attente. 36. Créer un job pour exécuter quelques commandes (par exp. ls, touch et mkdir) le samedi prochain à midi. 37. Afficher les jobs planifiés. 38. Afficher les commandes de ce job. 39. Supprimer ce job.
TP4 2/3 2020/2021
SICS Administration système ENSAO
2.2 Manipulation de l’accès à at
40. Créer le fichier /etc/at.allow. 41. Essayer d’ajouter une tâche par at. 42. Avez-vous eu le droit d’ajout ? pourquoi ? 43. Ajouter votre nom (login) dans ce fichier. 44. Réessayer d’ajouter une tâche par at. 45. Avez-vous pu ajouter cette tâche ? 46. Supprimer /etc/at.allow puis créer /etc/at.deny. 47. Essayer d’ajouter une tâche par at. 48. Avez-vous eu le droit d’ajout ? 49. Ajouter votre nom (login) dans ce fichier. 50. Réessayer d’ajouter une tâche par at. 51. Avez-vous pu ajouter cette tâche ? 52. Ajouter votre nom dans le fichier /etc/at.allow. 53. Réessayer d’ajouter une tâche par at. 54. Qu’est-ce que vous constatez ?