Niveau :      
Résumé : at

A moins que vous ne soyez dopé et monté sur des toilettes mobiles, vous ne pouvez pas être 24/24h devant votre ordinateur. Mais lui reste allumé bien plus longtemps que vous. Si voulez lancer une commande au milieu de la nuit (par exemple parce que c'est la seule heure ou vous avez la bande passante suffisante), il n'est pas nécessaire de mettre votre réveil.

La commande at (paquet du même nom, non installée par défaut sous debian malgré son nom), permet de lancer une commande à un moment donné. Le principe est simple :

$ at now +1hours
> /usr/local/bin/monscript

At dispose d'un langage de description des dates très complet. Vous pouvez indiquer des dates en absolu (le 3 mars à 3h03) ou en relatif (dans 42h), et ceci avec un certains nombre d'alias prédéfinis comme now ou teatime :-) Vous trouverez les détails de ce langage dans le fichier /usr/share/doc/at/timespec (attention, il s'agit d'une notation yacc, il faut connaître les grammaires). N'hésitez pas à apprendre la syntaxe elle est réutilisée dans plusieurs autre logiciels ("date" par exemple).

Pour les commandes lancées vous pouvez taper autant les lignes que vous voulez, mais je vous conseille tout de même de les limiter au minimum et d'en faire un script si besoin. Et ne vous inquiétez pas des erreurs ou de la sortie de votre script, le tout vous sera envoyé par mail.

At est en fait une file dont l'exécution est gérée par le démon atd. Il existe d'autre commandes que at pour gérer cette file. Tout d'abord atq vous en liste le contenu (at queue). Puis atrm vous permettra d'en supprimer des éléments.

$ atq
10	Thu Feb 20 20:04:00 2008 a peck
$ atrm 10

Et enfin, le paquet at fournit une commande batch permettant en théorie de lancer une commandes "dès que la charge le permet". En pratique, cette charge n'est pas configurable ce qui lui enlève un peu de son intérêt.