GNU/Linux >> Znalost Linux >  >> Linux

Praktický pohled na příkaz xargs

Každodenní úkoly sysadmina jsou pro každého vždy jiné; existují však jednoduché úlohy, které se na spravovaných systémech provádějí stejně. V době, kdy bylo místo na disku v době administrátorů rizikovým faktorem, bylo životně důležité najít adresář nebo souborový systém k ladění.

V dnešní době, především ve virtuálních strojích, je stejně důležité mít spravované systémy zdravé a s prostorem dostupným pro provádění jejich procesů a přihlašování do jejich log souborů.

[ Také by se vám mohlo líbit: Skriptování Linuxu:3 návody na smyčky while v Bash ]

Nejlepší způsob, jak začít, je používat nejjednodušší příkazy propojením jejich výstupů jako vstupů s novým provedením, čímž se vytvoří to, co je známé jako jednořádkové. To znamená, že pomocí interpretu příkazového řádku načtete standardní výstup příkazu a vložíte jej jako vstupní proměnnou dalšího příkazu, k tomu příkaz xargs pomůže tuto proměnnou přijmout a provést ji.

Podívejte se na praktický příklad:

Ticket RH0502201-1:Produkční server prodenv posílá upozornění „málo místa na disku v kořenovém souborovém systému“. Je požadováno vyčištění souborového systému.

  1. Přejděte na server a zkontrolujte místo v /filesystem :


# df -h /

Filesystem                     Size  Used  Avail Use% Mounted on

/dev/mapper/prodenv--vg-root   720G  720G  0     100% /
  1. Přejděte do kořenového adresáře, vypište seznam adresářů a pro výpočet místa na disku použitého v každém adresáři použijte pipe a xargs pro odeslání ls výstup příkazu do du příkaz:

# ls | xargs du -sk
  1. S pipe znovu použijte příkaz sort k vypsání výstupu od nejnižšího po nejvyšší místo na disku použité v adresářích:


# ls | xargs du -sk | sort -n
  1. V tomto případě jsou potřeba pouze adresáře s nejvíce obsazeným místem na disku, takže bychom mohli seznam omezit na posledních pět adresářů v seznamu. Pomocí dalšího potrubí a příkazu tail:


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

Poznámka : Pokud se chcete vyhnout chybové zprávě, kde je du příkaz nemohl získat přístup, odešlete standardní chybový výstup do zařízení /dev/null:


# ls | xargs du -sk 2> /dev/null | sort -n | tail -5
  1. S definovaným seznamem adresářů použijte AWK k vytvoření nového seřazeného seznamu adresářů, sloupec dva původního seznamu:


# ls | xargs du -sk 2> /dev/null | sort -n | tail -5 | awk '{ print $2 }'
  1. Seřazený seznam se znovu zadá jako proměnná do du k zobrazení použitého prostoru v lidsky čitelném formátu. Použijte jinou pipe a xargs :


# ls | xargs du -sk 2> /dev/null | sort -n | tail -5 | awk '{ print $2 }' | xargs du -sh
  1. Ověřte proveditelnost smazání nebo komprimace souborů, které zahlcují souborový systém, abyste uvolnili co nejvíce místa na disku.

Pravděpodobně je možné vyhnout se krokům 5 a 6 a provést čištění přímo; v mnoha případech však tyto adresáře patří nějaké aplikaci a upozorňují na to odpovědné  k provedení čištění nebo jednoduše jako důkaz o provedeném procesu pro dokumentaci řešení problému.

Konečně naše jednovrstvá vypadá následovně:


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

Tato jednovrstvá je součástí mého arzenálu používaného při každodenních úkolech jako správce systému, doufám, že vám bude užitečný. co ty? Jaké jednovrstvé máš to v rukávu?

[ Získejte tuto bezplatnou e-knihu:Správa clusterů Kubernetes pro figuríny. ]


Linux
  1. Zvládněte příkaz Linux ls

  2. Úvod do příkazu diff

  3. 5 Praktické příklady příkazu dd v Linuxu

  1. 8 Praktické příklady příkazu Linux Xargs pro začátečníky

  2. Praktické příklady příkazu Unzip v Linuxu

  3. Vyhledejte příkaz v Linuxu

  1. Jak používat příkaz xargs pro Linux

  2. Příkaz Xargs v Linuxu

  3. 6 nejlepších způsobů, jak zobrazit soubory v Linuxu