GNU/Linux >> Tutoriels Linux >  >> Linux

Une vue pratique de la commande xargs

Les tâches quotidiennes de l'administrateur système sont toujours différentes pour chacun; cependant, certaines tâches simples sont exécutées de la même manière sur les systèmes gérés. À l'époque où l'espace disque était un facteur de risque pour l'administrateur, il était extrêmement important de localiser le répertoire ou le système de fichiers à déboguer.

De nos jours, dans les machines virtuelles principalement, il est tout aussi important d'avoir des systèmes gérés sains et avec de l'espace disponible pour l'exécution de leurs processus et la journalisation dans leurs fichiers journaux.

[ Vous pourriez également aimer : Scripts Linux :3 tutoriels pour les boucles while dans Bash ]

La meilleure façon de commencer est d'utiliser les commandes les plus simples en liant leurs sorties en tant qu'entrées à une nouvelle exécution, formant ce que l'on appelle une ligne. Autrement dit, en utilisant l'interpréteur de ligne de commande pour lire la sortie standard d'une commande et la placer comme variable d'entrée de la commande suivante, pour cela, la commande xargs aide à recevoir cette variable et à l'exécuter.

Découvrez un exemple pratique :

Ticket RH0502201-1 :Le serveur de production prodenv envoie des alertes "espace disque faible sur le système de fichiers racine". La purge du système de fichiers est demandée.

  1. Accédez au serveur et vérifiez l'espace dans /filesystem :


# df -h /

Filesystem                     Size  Used  Avail Use% Mounted on

/dev/mapper/prodenv--vg-root   720G  720G  0     100% /
  1. Passez au répertoire racine, listez les répertoires et pour calculer l'espace disque utilisé dans chaque répertoire, utilisez un pipe et xargs pour envoyer le ls sortie de la commande vers du commande :

# ls | xargs du -sk
  1. Avec un pipe encore une fois, utilisez la commande sort pour répertorier la sortie de l'espace disque le plus faible au plus élevé utilisé dans les répertoires :


# ls | xargs du -sk | sort -n
  1. Dans ce cas, seuls les répertoires avec le plus d'espace disque occupé sont nécessaires, nous pourrions donc limiter la liste aux cinq derniers répertoires de la liste. En utilisant un autre tube et la commande tail :


# ls | xargs du -sk | sort -n | tail -5

Remarque  : Si vous voulez éviter le message d'erreur où le du la commande n'a pas pu accéder, envoyez la sortie d'erreur standard au périphérique /dev/null :


# ls | xargs du -sk 2> /dev/null | sort -n | tail -5
  1. Une fois la liste des répertoires définie, utilisez AWK pour créer une nouvelle liste triée de répertoires, colonne deux de la liste d'origine :


# ls | xargs du -sk 2> /dev/null | sort -n | tail -5 | awk '{ print $2 }'
  1. La liste triée est ressaisie en tant que variable de du pour afficher l'espace utilisé dans un format lisible par l'homme. Utiliser un autre pipe et xargs :


# ls | xargs du -sk 2> /dev/null | sort -n | tail -5 | awk '{ print $2 }' | xargs du -sh
  1. Validez la faisabilité de supprimer ou de compresser les fichiers qui surchargent le système de fichiers pour libérer autant d'espace disque que possible.

Il est probablement possible d'éviter les étapes 5 et 6 et d'exécuter le nettoyage directement ; cependant, dans de nombreux cas, ces répertoires appartiennent à une application et informent le responsable  partie pour effectuer le nettoyage ou simplement comme preuve du processus exécuté pour la documentation de résolution des problèmes.

Enfin, notre one-liner ressemble à ceci :


​​​​​​​# ls | xargs du -sk 2> /dev/null | sort -n | tail -5 | awk '{ print $2 }' | xargs du -sh

Ce one-liner fait partie de mon arsenal utilisé dans les tâches quotidiennes en tant qu'administrateur système, j'espère que vous le trouverez utile. Et toi? Quels bons mots avez-vous dans votre manche ?

[ Obtenez cet ebook gratuit :Gérer vos clusters Kubernetes pour les nuls. ]


Linux
  1. Maîtrisez la commande Linux ls

  2. 8 exemples pratiques de la commande Linux Xargs pour les débutants

  3. Une introduction à la commande diff

  4. 5 exemples pratiques de la commande dd sous Linux

  5. La commande locate sous Linux

5 commandes pour afficher le contenu d'un fichier en ligne de commande Linux

5 exemples pratiques de la commande Read sous Linux

Exemples de commandes Linux xargs

Un guide pratique pour la commande chroot sous Linux

Comment utiliser la commande xargs sous Linux ?

La commande apt - Un guide d'utilisation pratique