La commande s'utilise en deux temps.
Il faut donc d'abord indiquer à quelle heure on veut exécuter une commande, sous la forme HH:MM :
L'exécution des commandes est demandée à 14 h 17 aujourd'hui. Si on tape cela dans une console, on devrait voir ceci s'afficher :
$ at 14:17
warning: commands will be executed using /bin/sh at>
at demande de taper les commandes que l'on veut exécuter à cette heure-là.
Pour cet exemple, on va demander de créer un fichier à 14 h 17 :
$ at 14:17
warning: commands will be executed using /bin/sh at> touch fichier.txt at> <EOT> job 5 at Mon Nov 10 14:17:00 2010
Après avoir écrit la commande touch, at affiche à nouveau un prompt et vous demande une autre commande. On peut indiquer une autre commande à exécuter à la même heure… ou bien arrêter là. Dans ce cas, taper Ctrl + D (comme pour sortir d'un terminal). Le symbole <EOT>
devrait alors s'afficher, et at s'arrêtera.
at affiche ensuite le numéro associé à cette tâche (à ce « job », comme il dit) et l'heure à laquelle il sera exécuté.
$ at 14:17 tomorrow
tomorrow signifie « demain ».
$ at 14:17 11/15/10
La date est au format américain, les numéros du jour et du mois sont donc inversés : 11/15/10. 11 correspond au mois (novembre) et 15 au numéro du jour !
Il est possible d'exécuter une commande dans 5 minutes, 2 heures ou 3 jours sans avoir à écrire la date. Par exemple, pour exécuter la commande dans 5 minutes :
$ at now +5 minutes
… ce qui signifie « Dans maintenant (now) + 5 minutes ». Les mots-clés utilisables sont les suivants :
Un autre exemple :
$ at now +2 weeks
… exécutera les commandes dans deux semaines.
Chaque fois qu'une commande est « enregistrée », at indique un numéro de job ainsi que l'heure à laquelle il sera exécuté.
Il est possible d'avoir la liste des jobs en attente avec la commande atq :
$ atq
13 Mon Nov 10 14:44:00 2010 a mateo21 12 Mon Nov 10 14:42:00 2010 a mateo21
Pour supprimer le job n° 13 utiliser atrm :
$ atrm 13