GNU/Linux >> Tutoriels Linux >  >> Linux

Comment planifier des tâches à l'aide de sous Linux

Le démon atd

Le démon atd permet aux utilisateurs de soumettre des tâches à exécuter ultérieurement, par exemple « à 2 h 00 ». Pour utiliser le démon atd, il doit être en cours d'exécution. Les utilisateurs peuvent confirmer qu'atd est en cours d'exécution simplement en examinant une liste de processus en cours d'exécution :

$ ps aux | grep atd
daemon   4730  0.0  0.2  1420  532  ?      S  15:42  0:00   /usr/sbin/atd 
madonna  5570  0.0  0.2  3572  640  pts/2  S  16:43  0:00   grep atd

Notez que la septième colonne spécifie à quel terminal un processus est associé. Pour la commande grep de blondie, le terminal est pts/2, qui fait probablement référence à un shell réseau ou à un terminal graphique dans une session X. Notez que le démon atd n'a pas de terminal associé. L'une des caractéristiques déterminantes d'un démon est qu'il abandonne son association avec le terminal qui l'a lancé.

Soumettre des travaux avec à

La commande at est utilisée pour soumettre des travaux à atd démon à exécuter à un moment précis. Les commandes à exécuter sont soit soumises sous forme de script (avec le commutateur de ligne de commande -f), soit saisies directement via stdin. La sortie standard de la commande est envoyée par courrier à l'utilisateur.

at [-f filename | -m] TIME
Changer Effet
-f nom_fichier exécuter le script spécifié par filename
-m Notifiez l'utilisateur par e-mail lorsque vous avez terminé, même s'il n'y a pas de sortie.

L'heure de la journée peut être spécifiée en utilisant HH:MM, suffixé par "am" ou "pm". Les termes « minuit », « midi » et « l'heure du thé » peuvent également être utilisés. (Vous avez bien lu, "l'heure du thé".) Une date peut également être spécifiée en utilisant plusieurs formats, y compris MM/JJ/AA. La page de manuel at(1) fournit beaucoup plus de détails.

Le catcheur hogan aimerait imprimer un fichier contenant tous les mails de fans qu'il a reçu, fanmail.txt. Il est un peu inquiet, cependant, car il partage l'imprimante avec ventura, qui utilise également beaucoup l'imprimante. Voulant éviter une bagarre, Hogan décide de retarder son impression jusqu'à 2h00 du matin.

$ at 2:00 am
warning: commands will be executed using (in order) a) $SHELL b) login shell c) /bin/sh
at> lpr fanmail.txt
at> CTRL-D
job 7 at 2020-06-17 02:00

Parce que Hogan n'a pas utilisé le -f commutateur de ligne de commande, la commande at a invité Hogan à saisir ses commandes à l'aide de stdin (le clavier). Heureusement, Hogan sait que CTRL-D, lorsqu'il est saisi directement depuis un terminal, indique une « fin de fichier ». Alternativement, il aurait pu diriger la commande directement dans stdin :

$ echo "lpr fanmail" | at 2:00 am
warning: commands will be executed using (in order) a) $SHELL b) login shell c) /bin/sh
job 7 at 2003-06-17 02:00

Ensuite, hogan confirme que son travail a été enregistré à l'aide d'atq.

$ atq
7     2003-06-17 02:00  a hogan

Enfin, Hogan se souvient que Ventura est en vacances, il peut donc imprimer son courrier de fan sans incident. Il décide d'annuler son travail et d'imprimer directement le fichier.

$ atrm 7 
$ atq 
$ lpr fanmail.txt

Retarder les tâches avec le lot

Le lot La commande, comme la commande at, est utilisée pour reporter des tâches à une date ultérieure. Contrairement à la commande at, batch n'exécute pas la commande à une heure précise, mais attend à la place que le système ne soit pas occupé par d'autres tâches, quelle que soit l'heure. Si la machine n'est pas occupée lorsque le travail est soumis, le travail peut s'exécuter immédiatement. Le démon atd surveille la loadavg du système et attend qu'elle tombe en dessous de 0,8 avant d'exécuter la tâche.

La commande batch a une syntaxe identique à la commande at, où les travaux peuvent soit être spécifiés à l'aide de stdin, soit soumis sous forme de fichier batch avec le -f commutateur de ligne de commande. Si une heure est spécifiée, le lot retardera l'observation de la machine jusqu'à l'heure spécifiée. À ce moment-là, le lot commencera à surveiller la charge moyenne du système et exécutera la tâche lorsque le système n'est pas autrement occupé.


Linux
  1. Conseils Linux pour utiliser cron pour planifier des tâches

  2. Comment écrire du texte sur une image à l'aide de la commande Linux

  3. Comment redémarrer Linux en utilisant la ligne de commande

  4. Comment définir des tâches automatisées sur un VPS Linux à l'aide de Cron ?

  5. Comment diviser un iso ou un fichier à l'aide de la commande 'split' sous Linux

Comment faire des captures d'écran sous Linux avec Scrot

Comment créer un répertoire sous Linux à l'aide de la commande mkdir

Comment exécuter une commande périodiquement sous Linux à l'aide de Watch

Comment sauvegarder le système de fichiers Linux à l'aide de la commande dump

Comment automatiser les tâches quotidiennes sur Linux en utilisant (at)

Planifier des travaux sous Linux avec la commande 'at'