accueil > Gestion des processus > batch

batch : Exécution de commandes lorsque la charge système est faible

La commande batch attend que la charge moyenne du système tombe en dessous de 0.8 avant d'exécuter les commandes spécifiées. Ceci est utile pour gérer les tâches en arrière-plan de manière efficace, sans interférer avec les opérations critiques.

Aperçu

batch fait partie de la famille des commandes at et est un ordonnanceur qui surveille la charge du système pour exécuter des tâches lorsque celle-ci est faible. Il est principalement utilisé pour traiter automatiquement des tâches gourmandes en ressources pendant les périodes de faible utilisation du système. batch utilise en interne la file d'attente 'b' de la commande at, et les tâches de cette file ne s'exécutent que lorsque la charge moyenne du système est inférieure à 0.8.

Caractéristiques principales

  • Exécution basée sur la charge système : démarrage des tâches lorsque la charge moyenne est inférieure à 0.8
  • Planification des tâches avec une syntaxe similaire à la commande at
  • Adapté au traitement des tâches gourmandes en ressources en arrière-plan
  • Notification par e-mail possible à l'utilisateur à la fin de la tâche (en utilisant les options de at)

Options principales

La commande batch elle-même n'a pas beaucoup d'options directes en ligne de commande ; elle reçoit principalement les commandes à exécuter via l'entrée standard ou un fichier. Voici les principales méthodes pour passer des commandes à batch.

Méthodes de saisie des commandes

Commande générée :

Essayez de combiner les commandes.

Description:

`batch` Exécute la commande.

Essayez d'exécuter virtuellement les commandes avec l'IA en combinant les options ci-dessus.

Exemples d'utilisation

Comment utiliser la commande batch pour exécuter une tâche spécifique lorsque la charge système est faible.

Planifier une commande simple via l'entrée standard

batch
ls -l > /tmp/batch_output.txt
<EOT>

Lorsque la charge système diminue, la liste des fichiers du répertoire courant est enregistrée dans /tmp/batch_output.txt.

Planifier plusieurs commandes via un pipe

echo -e "echo 'Batch job started at $(date)'\nls -a\necho 'Batch job finished'" | batch

Plusieurs lignes de commandes sont planifiées pour batch via la commande echo.

Planifier l'exécution d'un script

echo '#!/bin/bash\necho "Hello from batch!" > /tmp/batch_hello.txt\ndate >> /tmp/batch_hello.txt' > my_script.sh
chmod +x my_script.sh
batch -f my_script.sh

Créez le fichier my_script.sh, puis planifiez ce script avec batch. (Le fichier my_script.sh doit avoir les permissions d'exécution.)

Installation

La commande batch fait partie du paquet `at`. Elle peut ne pas être incluse par défaut dans la plupart des distributions Linux. Si nécessaire, vous pouvez l'installer en utilisant les commandes suivantes.

Systèmes basés sur Debian/Ubuntu

sudo apt update && sudo apt install at

Systèmes basés sur CentOS/RHEL/Fedora

sudo yum install at

Conseils et précautions

Conseils utiles et points à considérer lors de l'utilisation de la commande batch.

Considérations principales

  • **Seuil de charge** : batch démarre les tâches lorsque la charge moyenne du système est inférieure à 0.8. Cette valeur peut varier en fonction des configurations système, telles que les fichiers `/etc/at.deny` ou `/etc/at.allow`, et est affectée par la configuration du démon `atd`.
  • **Variables d'environnement** : les tâches exécutées par batch peuvent ne pas hériter des variables d'environnement du shell actuel. Il est donc recommandé de définir explicitement les chemins (PATH) et autres variables d'environnement nécessaires dans vos scripts.
  • **Vérification des logs** : si une tâche ne s'exécute pas comme prévu ou si une erreur se produit, vous pouvez consulter les logs système (par exemple, `/var/log/syslog`, `/var/log/messages` ou `journalctl -u atd`) pour identifier la cause du problème.
  • **Gestion des tâches** : vous pouvez utiliser la commande `atq` pour voir les tâches batch planifiées et la commande `atrm` pour annuler une tâche.

Commandes de la même catégorie