Gnu/Linux

Introduction à la ligne de commande, partie III : at

closeCet article a été publié il y a 1 an 16 jours, il est donc possible qu’il ne soit plus à jour. Les informations proposées sont donc peut-être expirées.

Après la commande “alias” et “apropos“, dans ce troisième billet je vais vous présenter la commande “at“. Si vous êtes familier avec la planification des tâches (cron job), alors vous n’aurez aucun mal à assimiler cette nouvelle commande. Car la seule différence qu’il y a entre “cron” et “at”, c’est que la première sert planifier des tâches répétitives, alors que l’utilisation de la deuxième est plus pertinente et adéquate, quand on veut qu’une tâche se lance une seule fois. Après que notre commande sera exécutée, elle n’existera plus.

L’utilisation de la commande “at”, comme pour ceux qu’on a vu jusqu’à maintenant d’ailleurs, est très simple. Vous spécifiez la date et heure, ensuite vous indiquez la tâche que vous voulez lancer, exemple :

at 07:00 05/03/2012
at> votre commande

N.B : la date est au format américain, on précise d’abord le mois suivi du jour.

Pour sortir du prompt, appuyez sur Ctrl+d. Un autre exemple :

at now +1 week -f commandes.txt

Cette commande sera exécutée dans une semaine à partir de cet instant, le paramètre -f  permet d’indiquer un fichier qui contient les commandes qu’on souhaite exécuter.

Pour connaître les tâches qui sont en cours, tapez atq :

3        2012-05-04 03:00 a cowd42

Si vous souhaitez supprimer cette tâche, la commande à entrer est atrm suivi de son numéro :

atrm 3

Comme pour les autres commandes qu’on vu jusqu’à aujourd’hui, je n’ai fait que survoler quelques possibilités, la consultation du manuel de la commande at est bien plus que recommandé :)

7 Comments

  1. personnellement j’utilise beaucoup at avec le | :
    echo “Ma commande > /tmp/log.log” | at now; tail -25f /tmp/log.log
    ca me permet de lancer des traitements long (sauvegarde) en pouvant fermer ma session ou sans risquer de perdre la connection ssh (par exemple).
    Même pour certains traitements rapides, je les lances en arrière plan (pour justement pouvoir fermer le terminal et passer a autre chose fire & forget…)

  2. @nyquist : tu as aussi la commande screen prévue pour cela…

    @crownd42 : dans le cas d’un fichier command.txt, ce fichier est-il lu à l’exécution (dans une semaine) ou au lancement de la commande ?

    En gros, pendant la semaine, peut-on modifier ce fichier ou cela ne sert à rien ?

    cEd

  3. Feadurn

    Je suis sous arch et je ne trouve pas la commande, et chercher avec comme mot cle “at”, ca n’aide pas des masses :s. Une idee du comment installer la commande?

  4. Louis

    Pacman -S at

  5. Feadurn

    Ok merci, suis un peu con, j’ai d’abord cherche apres avant de tenter de l’installer directement

  6. Samuel

    Merci pour ce tutoriel.

    Par contre, j’ai essayé avec une activation pour dans 5 minutes …mais rien ne se passe. Les commandes ne semblent pas se lancer lorsque l’heure arrive. (j’ai essayé avec un “ls” et un “gvim”…nada)
    Je reconnais ne pas m’étre plongé dans le “man” mais en suivant ce tutoriel, çà coince :-(

Trackbacks / Pings

Laisser un commentaire