At permet d'indiquer l'heure de lancement de manière assez complexe, en extension de la norme POSIX.2. Il accepte des spécifications de la forme HH:MM pour exécuter un travail à une heure donnée de la journée en cours (ou du lendemain si l'heure mentionnée est déjà dépassée). On peut aussi lui fournir l'un des arguments suivants : midnight (minuit), noon (midi), ou teatime (l'heure du thé, soit 16 heures). Il est également possible de fournir un suffixe du type AM (matin), ou PM (après-midi) avec une heure sur un cadran de 12 heures. On peut indiquer le jour de lancement, en précisant une date du type nom-du-mois (en anglais) jour et éventuellement année, ou encore une date du type MMJJAA ou MM/JJ/AA ou JJ.MM.AA. La date doit suivre l'heure. On peut indiquer une heure de la forme now (maintenant) + nombre d'unités, où les unités peuvent être minutes, hours (heures), days (jours), ou weeks (semaines) et on peut également demander à at de déclencher le travail le jour même en ajoutant le suffixe today ou le lendemain en ajoutant tomorrow.
Par exemple, pour lancer une commande à 16 heures, 3 jours plus tard, on peut indiquer at 4pm + 3 days, pour lancer le travail à 10 heures du matin le 31 juillet, il faut invoquer at 10am Jul 31 et pour lancer une commande à 1 heure du matin le lendemain, effectuez at 1am tomorrow.
/usr/share/doc/at-3.1.10/timespec contient les définitions exactes des spécifications horaires (Ndt : le chemin du fichier timespec peut varier suivant les distributions).
Aussi bien at que batch lisent les commandes à mémoriser depuis l'entrée standard, ou dans le fichier indiqué par l'option -f. Le répertoire de travail, l'environnement (sauf pour les variables TERM, DISPLAY et _) ainsi que le umask sont mémorisés au moment de l'invocation. Une commande at - ou batch - invoquée depuis un shell obtenu par su(1) mémorisera l'U-ID en cours. L'appelant recevra par courriel (mail) les messages écrits sur les flux de sortie standard et d'erreur standard, s'il y en a. Le courrier sera envoyé en utilisant la commande /usr/sbin/sendmail (Ndt : cette commande peut être différente suivant la distribution). Si at est invoquée depuis un shell obtenu par su(1), le courrier sera envoyé à l'utilisateur correspondant au nom de connexion (Ndt : login).
Le super-utilisateur peut toujours employer ces commandes. Pour les autres utilisateurs, les permissions sont déterminées par les fichiers /etc/at.allow et /etc/at.deny (Ndt : le chemin de ces fichiers peut être différent suivant la distribution).
Si le fichier /etc/at.allow existe, seuls les utilisateurs dont les noms sont mentionnés dans ce fichier peuvent utiliser at.
Si /etc/at.allow n'existe pas, at vérifie si /etc/at.deny existe, et tous les utilisateurs non-mentionnés dans ce fichier ont le droit d'invoquer at.
Si aucun de ces deux fichiers n'existe, seul le super-utilisateur a le droit d'appeler at.
Un fichier /etc/at.deny vide signifie que tous les utilisateurs ont le droit d'appeler ces commandes, c'est la configuration par défaut.
Si une tâche est soumise à une file désignée par une lettre majuscule, celle-ci est traitée par batch à l'heure prévue. Une fois l'horaire atteint, les règles de traitement par lots s'appliquent selon de la charge moyenne. Si l'on invoque atq avec un nom de file spécifique, il ne montrera que les travaux en attente dans cette file.
Si le fichier /var/run/utmp n'est pas disponible, ou est endommagé, ou si l'utilisateur n'est pas connecté lorsque at est invoquée, le courrier est envoyé à l'U-ID correspondant à la variable d'environnement LOGNAME. Si celle-ci est indéfinie ou vide, l'U-ID courant est utilisé par défaut.
At et batch, tels qu'ils sont implémentés actuellement, ne sont pas fiables lorsqu'il y a une situation de manque de ressources systèmes. Si c'est régulièrement le cas sur votre site, vous devriez vous orienter vers un autre système de lancements différés, comme nqs.
Ce document est une traduction réalisée par Christophe Blaess <http://www.blaess.fr/christophe/> le 16 avril 1997, mise à jour par Alain Portal <aportal AT univ-montp2 DOT fr> le 15 mai 2006 et révisée le 25 avril 2008.
L'équipe de traduction a fait le maximum pour réaliser une adaptation française de qualité. La version anglaise la plus à jour de ce document est toujours consultable via la commande : « LANG=C man 1 at ». N'hésitez pas à signaler à l'auteur ou au traducteur, selon le cas, toute erreur dans cette page de manuel.
Dernière mise à jour : 26 mai 2008