AT(1)

NOM
at, batch, atq, atrm - Mémoriser, examiner ou supprimer des jobs à exécuter ultérieurement

SYNOPSIS
at [-V] [-q file] [-f fichier] [-mldbv] HEURE
at -c commande [commande...]
atq [-V] [-q file]
atrm [-V] commande [commande...]
batch

DESCRIPTION
at et batch lisent, depuis l'entrée standard, ou depuis un fichier, des commandes qu'ils exécuteront ultérieurement, en utilisant /bin/sh.

at  lance les commandes indiquées à une heure précise.

atq affiche la liste des commandes en attente d'exécution pour l'utilisateur appelant, sauf s'il s'agit du super-utilisateur auquel cas toutes les commandes en attente sont listées. Le format de sortie est (une ligne par job) : numéro de job, date, heure, file et nom d'utilisateur.

atrm
    efface les travaux en attente, identifiés par leurs numéros de job.

batch
    exécute les commandes indiquées lorsque la charge système le permet, c'est-à-dire lorsque la charge du processeur descend sous 0.8 (Ndt : cette valeur peut être différente suivant les distributions car elle est configurable à la construction du binaire), ou en dessous d'une valeur mentionnée explicitement durant l'invocation de atd.

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.

OPTIONS

-V  Afficher un numéro de version sur la sortie d'erreur standard.

-q file
    Utiliser la file d'attente mentionnée. Une file est désignée par une lettre unique, dans l'intervalle a jusqu'à z, et A jusqu'à Z. La file a est la file d'attente par défaut pour at tandis que la file b est celle par défaut pour batch. Plus les files ont une lettre importante, plus les travaux seront exécutés avec une valeur de gentillesse (voir nice(1)) élevée. La file spéciale « = » est réservée pour les jobs en cours d'exécution.

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.

-m  Envoyer un courrier à l'utilisateur lorsque le travail est terminé, même s'il n'a rien écrit sur ses flux de sortie.

-f fichier
    Lire la commande à exécuter dans le fichier et non pas sur l'entrée standard.

-l  Est un alias pour atq.

-d  Est un alias pour atrm.

-v  Afficher les heures de lancement programmées avant de lire le job.

Les heures seront affichées avec le format « Thu Feb 20 14:50:00 1997 ».

-c  Imprimer sur la sortie standard les travaux mentionnés sur la ligne de commande.

FICHIERS
/var/spool/at
/var/spool/at/spool
/proc/loadavg
/var/run/utmp
/etc/at.allow
/etc/at.deny
Ndt : le chemin de ces fichiers peut être différent suivant la distribution.

BOGUES
Sous Linux, batch est tributaire d'un système de fichiers de type proc monté sur le répertoire /proc.

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.

AUTEUR
At a été écrit principalement par Thomas Koenig, <ig25@rz.uni-karlsruhe.de>.

VOIR AUSSI
cron(1), nice(1), sh(1), umask(2), atd(8)

TRADUCTION

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.