3 KiB
Programmer l'exécution de scripts
Nous avons créé le script parfait qui automatise les tâches monotones faites auparavant manuellement. Maintenant, puisque nous prévoyons partir en vacances, il faut dire à notre système quand exécuter celui-ci, et à quelle fréquence ! C'est ce que cron permet de faire sur GNU/Linux et macOS. Sur Windows, c'est le Planificateur de tâches schtasks.exe.
Notez qu'il existe aussi des applications graphiques pour chacun de ces systèmes. Mais, nous sommes ici pour voir un peu de code non ?
Cron sur Linux et macOS
La majorité des systèmes macOS et GNU/Linux incluent le logiciel cron. Il n'y a donc rien à faire pour l'obtenir. Cependant, il est possible qu'il nécessite des accès additionnels pour bien fonctionner sur macOS.
Les instructions pour cron sont inscrites dans un fichier spécial crontab dans le répertoire /etc/cron.d.
Leur format est défini dans cette illustration :
* * * * * * script_a_executer.sh
| | | | | |
| | | | | +--- nom utilisateur
| | | | +----- jour de la semaine (0-6) (Dimanche=0)
| | | +------- mois (1-12)
| | +--------- jour du mois (1-31)
| +----------- heure (0-23)
+------------- minutes (0-59)
Par exemple, pour exécuter un script cocktail_aleatoire.sh
qui nous envoie une recette de cocktail au hasard à 16 h 30 chaque vendredi, nous le configurons comme suit.
30 16 * * 5 jevalideca /home/jevalideca/cocktail_aleatoire.sh
Planificateur de tâches sur Windows
Sur Windows, l'ensemble des tâches sont planifiées depuis le Planificateur de tâches. En exécutant une commande PowerShell, il est possible de configurer une tâche semblable à la précédente.
À partir d'une session PowerShell, la séquence de commandes suivante configurera l'exécution du programme cocktail_aleatoire.bat
à 16 h 30 chaque vendredi.
$action = New-ScheduledTaskAction -Execute 'C:\Users\jevalideca\scripts\cocktail_aleatoire.bat'
$trigger = New-ScheduledTaskTrigger -Weekly -DaysOfWeek Friday -At 4:30pm
Register-ScheduledTask -Action $action -Trigger $trigger -TaskName "cocktail-aleatoire"
Nous pouvons valider le résultat dans la fenêtre du Planificateur de tâches.
Conclusion
Nous avons vu deux techniques qui permettent de programmer et de configurer l'exécution automatique de tâches.
Il est maintenant possible de faire travailler notre ordinateur durant nos vacances !