L’utilitaire at est un utilitaire standard UNIX intégré dans le système. Il s’interface avec le démon atd et permet de planifier des tâches afin de les exécuter à une date précise sans intervention humaine. Cela permet par exemple de planifier l’exécution d’une requête SQL sur votre bdd de production en pleine nuit si celle ci est effectuée de manière unique.
Pour exécuter une tâche différée à un horaire précis tapez:
at 13:12
Vous remarquez alors que l’utilitaire ne vous rend pas la main. C’est normal, il attend une suite de commandes shell. Tapez donc vos commandes:
mysql < /tmp/001_init.sql
mysql < /tmp/002_pass.sql
Pour quitter le mode at, appuyez sur CTRL+D (logout) et at vous dira avoir planifié la tâche:
Job 3 will be executed using /bin/sh
Si vous souhaitez lancer le job à une autre date que celle d’aujourd’hui, vous pouvez utiliser le format de date POSIX (MMddhhmm):
at -t 12151315
at lancera la tâche le 15 décembre à 13h15
Parfois il se peut que la tâche que vous avez planifiée soit annulée pour une raison technique ou non. Il est fort heureusement possible de l’annuler. Utilisez tout d’abord la commande atq afin d’identifier l’ID de votre tâche:
# atq
Date Owner Queue Job#
Sat Jul 11 00:01:00 CEST 2015 root c 1
Ensuite annulez la tâche avec la commande atrm:
atrm 1
Tout d’abord identifiez l’ID de votre tâche avec atq puis tapez la commande suivante:
at -c
Vous savez désormais lancer des tâches différées sur tout UNIX, vous permettant ainsi de lancer des opérations ponctuelles pendant la nuit, par exemple.