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.
-
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% /
-
Passez au répertoire racine, listez les répertoires et pour calculer l'espace disque utilisé dans chaque répertoire, utilisez un
pipe
etxargs
pour envoyer lels
sortie de la commande versdu
commande :
# ls | xargs du -sk
-
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
-
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
-
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 }'
-
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 autrepipe
etxargs
:
# ls | xargs du -sk 2> /dev/null | sort -n | tail -5 | awk '{ print $2 }' | xargs du -sh
-
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. ]