GNU/Linux >> Tutoriels Linux >  >> Linux

Comprendre les commandes at, atq, atrm, batch à l'aide de 9 exemples

Vous pouvez exécuter des tâches par lots sous UNIX/Linux à l'aide de l'une des trois commandes :at, batch ou cron.

Dans cet article, voyons comment planifier une tâche, afficher une tâche et supprimer une tâche à l'aide de la commande at .

Vous pouvez planifier une tâche at de deux manières différentes :

  • Planifiez l'exécution de la tâche à une heure précise. Par exemple, le 3 juillet à 10 h
  • Planifiez l'exécution de la tâche dans un temps relatif à partir de maintenant. Par exemple, dans 5 heures.

1. Planifier une tâche à l'aide d'une date et d'une heure spécifiques

Syntaxe :

$ at time date

Par exemple, pour planifier une tâche à 11 h le 20 mai, utilisez la commande suivante.

$ at 11 am may 20

2. Planifier une tâche en utilisant le temps relatif

Vous pouvez planifier l'exécution d'une tâche en utilisant l'heure relative à partir de maintenant.

Syntaxe :

$ at now + COUNT UNIT

Par exemple, la tâche suivante sera exécutée dans 1 minute.

$ at now + 1 min

L'exemple ci-dessus lira les commandes de stdin et exécutera le travail après une minute. Lorsque vous donnez quelque chose d'incorrect dans le format de l'heure, vous obtenez l'erreur "Temps tronqué ‘.

Vous pouvez programmer une tâche en arrière-plan pour 1 heure à partir de maintenant, (ou) 1 jour à partir de maintenant en utilisant la commande at suivante :

$ at now + 1 hour

$ at now + 1 day

Semblable à la commande at, vous pouvez également utiliser crontab pour exécuter des tâches à une heure planifiée. Reportez-vous à notre article précédent sur les 15 exemples de commandes cron.

3. Afficher tous les travaux planifiés à l'aide d'atq

Vous pouvez utiliser la commande atq (ou at -l) pour afficher tous les travaux de la commande at qui sont planifiés ou en cours d'exécution.

La commande atq suivante listera tous les at en attente travaux. Le premier numéro affiché est le numéro de tâche, suivi de l'heure à laquelle le processus doit être exécuté et du nom d'utilisateur.

$ atq
4	2010-04-20 11:00 a sathiya

4. Supprimer/Supprimer une tâche planifiée à l'aide d'atrm

Vous pouvez utiliser la commande atrm (ou at -d) pour supprimer une tâche particulière. Par exemple, pour supprimer le travail numéro 4, utilisez la commande atrm suivante.

$ atrm 4

5. Exécuter une tâche uniquement lorsque la charge moyenne du système est < 1,5 à l'aide de la commande batch

Vous pouvez planifier une tâche à l'aide de la commande batch, qui vous demandera d'entrer une commande, qui sera exécutée lorsque la charge moyenne du système est inférieure à 1,5.

$ batch

À la fin de la saisie, vous obtiendrez le numéro de travail. Pour répertorier et supprimer des tâches par lots, vous pouvez utiliser les commandes at expliquées ci-dessus.

6. Planifier les tâches à partir du fichier à l'aide de l'option -f

Créez d'abord un fichier texte contenant toutes les commandes ou les scripts shell que vous souhaitez exécuter en arrière-plan à l'aide de la commande at.

$ cat myjobs.txt
/home/sathiya/calculate-space.sh
/path/to/a/shell-script
/path/to/any/command/or/script

En utilisant l'option -f, vous pouvez faire en sorte que la commande at obtienne l'entrée du fichier au lieu de stdin.

Suivre la commande exécutera tous les travaux de myjobs.txt dans 1 heure.

$ at -f myjobs.txt now + 1 hour

7. Autoriser et refuser à certains utilisateurs d'utiliser at jobs

L'administrateur système peut contrôler qui peut planifier une tâche at et qui ne peut pas utiliser les fichiers at.allow et at.deny.

Tout d'abord, le système recherche le fichier at.allow. Si at.allow existe, seuls les noms d'utilisateur spécifiés dans le fichier at.allow sont autorisés à utiliser la commande at.

Ensuite, (si at.allow n'existe pas), le système recherche le fichier at.deny. Si at.deny existe, les noms d'utilisateur spécifiés dans le fichier at.deny ne sont pas autorisés à utiliser la commande at.

Par défaut, la plupart des systèmes utilisent le fichier at.deny pour empêcher certains utilisateurs d'utiliser la commande at, tels que www-data, guest, backup, man user.

8. Exécuter à la commande comme nohup

Semblable à la commande nohup dont nous avons parlé précédemment, vous pouvez exécuter une commande (ou un script shell) sur le serveur distant à l'aide de la commande at et vous déconnecter du serveur.

$ at -f myjob now + 1 min

$ exit

Remarque :myjob continuera de s'exécuter même après avoir quitté le serveur.

9. Formats supplémentaires au moment de la commande

Vous pouvez utiliser l'un des formats de date et d'heure suivants :

$ at 10 am tomorrow

$ at 11:00 next month

$ at 22:00 today

$ at now + 1 week

$ at noon

Linux
  1. Commandes Linux - Présentation et exemples

  2. Utilisation des touches Vi pour modifier les commandes Shell sous Unix ?

  3. 5 exemples pratiques de commande Linux fuser

  4. 5 exemples de commande de modem à Linux (comment configurer Minicom)

  5. Quel fuseau horaire utilise une tâche cron ?

Utilisation de la commande Cat sous Linux avec des exemples

Utilisation de la commande GREP sous Linux avec des exemples

Comment afficher les feuilles de triche des commandes Linux en utilisant par exemple

Les commandes alias et unalias expliquées avec des exemples

15 exemples d'utilisation de la commande Grep sous Linux

Exemples de manipulation de fichiers à l'aide des commandes Tac, Rev, Paste et Join Unix