Introduction
Ce projet vous guidera dans la création d'un planificateur de tâches à l'aide d'un script Bash. Le planificateur de tâches vous permet de planifier et de gérer des tâches à exécuter à des intervalles spécifiés, tels que toutes les heures, quotidiennement ou hebdomadairement. Le script propose des options pour lister les tâches planifiées, ajouter de nouvelles tâches et supprimer les tâches existantes.
👀 Aperçu

Pour commencer, vous devrez créer un fichier nommé task_scheduler.sh et écrire le code fourni dans celui-ci. Passons à la première étape.
🎯 Tâches
Dans ce projet, vous allez apprendre :
- Comment créer les fichiers du projet
- Comment ajouter du code pour afficher les tâches planifiées
- Comment ajouter du code pour ajouter une nouvelle tâche
- Comment ajouter du code pour supprimer une tâche
- Comment configurer la boucle du menu principal
- Comment rendre le script exécutable
- Comment exécuter le projet
🏆 Réalisations
Après avoir terminé ce projet, vous serez capable de :
- Créer un script Bash
- Utiliser crontab pour planifier des tâches
- Demander une entrée utilisateur dans un script Bash
- Ajouter et supprimer des tâches de crontab
- Créer une boucle de menu dans un script Bash
- Rendre un script Bash exécutable et le lancer
Créer les fichiers du projet
Créez un nouveau fichier nommé task_scheduler.sh à l'aide d'un éditeur de texte de votre choix. Vous pouvez utiliser la commande suivante pour créer le fichier :
cd ~/projet
touch task_scheduler.sh
Maintenant, ouvrez le fichier dans votre éditeur de texte.
Ajouter du code pour afficher les tâches planifiées
Installez crontab si ce n'est pas déjà fait sur votre système. Pour installer crontab, exécutez la commande suivante dans le terminal :
sudo apt-get update
sudo apt-get install cron
Dans le fichier task_scheduler.sh, ajoutez le code suivant :
#!/bin/bash
## Fonction pour afficher les tâches planifiées
liste_taches() {
echo "Tâches planifiées :"
crontab -l
echo
}
Ce code définit une fonction nommée liste_taches, qui affiche les tâches planifiées à l'aide de la commande crontab -l.
Ajouter du code pour ajouter une nouvelle tâche
En dessous du code précédemment ajouté, ajoutez le code suivant :
## Fonction pour ajouter une nouvelle tâche
ajouter_tache() {
read -p "Entrez la commande ou le script à exécuter : " commande
read -p "Entrez la fréquence de planification (hourly, daily, weekly) : " frequence
read -p "Entrez tout paramètre supplémentaire : " parametres
case $frequence in
hourly)
horaire_planification="0 * * * *"
;;
daily)
horaire_planification="0 0 * * *"
;;
weekly)
horaire_planification="0 0 * * 0"
;;
*)
echo "Fréquence de planification invalide. Veuillez choisir hourly, daily ou weekly."
return
;;
esac
## Ajoute la tâche au crontab
(
crontab -l 2> /dev/null
echo "$horaire_planification $commande $parametres"
) | crontab -
echo "Tâche planifiée avec succès."
echo
}
Ce code définit une fonction nommée ajouter_tache, qui invite l'utilisateur à entrer la commande ou le script à exécuter, la fréquence de planification (hourly, daily ou weekly) et tout paramètre supplémentaire. Elle définit ensuite le schéma de planification cron approprié en fonction de la fréquence choisie. Enfin, elle ajoute la tâche au crontab à l'aide de la commande crontab -l.
Ajouter du code pour supprimer une tâche
En dessous du code précédemment ajouté, ajoutez le code suivant :
## Fonction pour supprimer une tâche
supprimer_tache() {
read -p "Entrez la commande ou le script à supprimer : " commande
## Supprime la tâche du crontab
crontab -l | grep -v "$commande" | crontab -
echo "Tâche supprimée avec succès."
echo
}
Ce code définit une fonction nommée supprimer_tache, qui invite l'utilisateur à entrer la commande ou le script à supprimer. Elle supprime ensuite la tâche du crontab à l'aide de la commande crontab -l.
Ajouter du code pour la boucle du menu principal
En dessous du code précédemment ajouté, ajoutez le code suivant :
## Boucle du menu principal
while true; do
echo "Planificateur de tâches"
echo "1. Lister les tâches planifiées"
echo "2. Ajouter une tâche"
echo "3. Supprimer une tâche"
echo "4. Sortir"
read -p "Entrez votre choix : " choix
echo
case $choix in
1)
liste_taches
;;
2)
ajouter_tache
;;
3)
supprimer_tache
;;
4)
break
;;
*)
echo "Choix invalide. Veuillez réessayer."
echo
;;
esac
done
Ce code configure une boucle de menu principal qui affiche répétitivement un menu et invite l'utilisateur à faire un choix. Selon l'option choisie, il appelle la fonction correspondante (liste_taches, ajouter_tache ou supprimer_tache) ou sort de la boucle.
Enregistrer et fermer le fichier
Enregistrez les modifications dans le fichier task_scheduler.sh et fermez l'éditeur de texte.
Pour rendre le script exécutable, exécutez la commande suivante dans le terminal :
chmod +x task_scheduler.sh
Cette commande définit les autorisations d'exécution pour le fichier task_scheduler.sh.
Exécuter le projet
Pour exécuter le planificateur de tâches, exécutez la commande suivante dans le terminal :
./task_scheduler.sh
Cette commande exécute le script task_scheduler.sh et lance le planificateur de tâches. Suivez les instructions affichées à l'écran pour lister les tâches planifiées, ajouter de nouvelles tâches ou supprimer les tâches existantes.

Résumé
Félicitations ! Vous avez réussi à terminer le projet du planificateur de tâches. Vous avez créé un script Bash qui vous permet de planifier et de gérer des tâches. Le script propose des options pour lister les tâches planifiées, ajouter de nouvelles tâches et supprimer les tâches existantes. N'hésitez pas à personnaliser le script davantage pour répondre à vos besoins spécifiques. Bonne planification !



