GNU/Linux >> Znalost Linux >  >> Linux

Univerzita Sysadmin:Rychlé a špinavé triky s Linuxem

Zkušení správci systému obvykle přizpůsobí své systémy Linux tak, aby vyhovovaly jejich potřebám a vytvořily konzistentní prostředí. Ale co když pracujete v prostředí, kde neděláte máte oprávnění provádět trvalé změny? Nebo jen pomáháte někomu z jiného oddělení? Někdy může druhý server provozovat jinou "příchuť" Linuxu nebo dokonce jiný typ Unixu.

Zde je několik rychlých a špinavých triků, které mohou být užitečné v některých praktických situacích.

[ Čtenářům se také líbilo: Další hloupé Bashovy triky:Proměnné, hledání, deskriptory souborů a vzdálené operace ]

Znáte pravidla a víte, kdy pravidla porušit

Proměnné by měly mít jasné názvy, aby byly snadno srozumitelné, aby se daly samostatně dokumentovat a aby bylo zachováno naše duševní zdraví. Předpokládám, že s tím všichni souhlasí.

Někdy jste však uprostřed noci nuceni vyřešit produkční problém a chcete postupovat rychle .

Jindy si také musíte ušetřit nějaké psaní, protože víte, že budete muset některé dlouhé příkazy spouštět vícekrát. V normální situaci byste vytvořili aliasy a vložili je do svých přihlašovacích profilů. Zde však mluvíme o neznámém prostředí, když se soustředíte na vyřešení incidentu.

Klasický případ „příliš mnoho síťových připojení, které se zbláznilo“

Jste odvoláni ve 2:00, protože „něco“ nefunguje. Všechno fungovalo normálně až do dnešní noci.

Počínaje nějakou variantou ss příkazu (nebo netstat, pokud jste trochu starší, jako já), si všimnete stovek připojení za TIME-WAIT a ZAVŘÍT-ČEKAT na vašem hlavním serveru.

Poznámka :V animaci níže používáme ss -4a příkaz k zobrazení seznamu všech připojení IPv4. Nás ale zajímají spíše ty, které jsou v WAIT stav:

Můžete vidět, že všechna tato připojení směřují na port 50505 alespoň na dvou serverech. Cílová IP a port jsou v poli #6. Viz obrázek níže.

Nyní chcete zjistit, kolik připojení čekají na každou cílovou IP.

Můžeme toho dosáhnout vyladěním ss příkaz, který jsme použili dříve:

Posloupnost kroků je následující:

  1. Začneme kontrolovat záhlaví a prvních 10 řádků pomocí příkazu ss -4a | grep WAIT | head
  2. Potom pipe to awk , který se v tomto případě používá k tisku pole #6 (předpokládáme, že výchozím oddělovačem jsou mezery).
  3. Poté sort předchozí výstup, protože dále chceme mít počet zapojených různých cílových serverů.
  4. Nakonec používáme uniq -c prezentovat počet jedinečných linek. Protože jsme v posledním kroku tohoto úkolu, musíme odstranit head příkaz, který jsme používali, když jsme sestavovali výstup.

V tomto bodě vyšetřování můžete začít vytvářet nějaké korelace, jako například:"Ovlivněny jsou další dva cíle, takže hlavní příčina je buď na úrovni clusteru, nebo souvisí se sítí/firewallem."

Určitě existují způsoby, jak přizpůsobit výstup ss zobrazit pouze sloupec, který vás zajímá. Může se však stát, že ve 2 hodiny ráno nebudete chtít hledat. Toto byl jen jeden příklad a v mnoha dalších situacích budete mít další příkazy s více možnostmi.

Cílem je zde ukázat rychlý způsob práce s výstupem, který pravděpodobně znáte z některých příkazů, které jste již použili (ale nepotřebujete nebo nechcete si pamatovat VŠECHNY možné způsoby konfigurace jejich výstupu).

Klasický případ "nízkého volného místa na disku"

Další příklad ze skutečného života:Řešíte problém a zjistíte, že jeden souborový systém je na 100 procentech své kapacity.

Ve výrobě může být mnoho podadresářů a souborů, takže možná budete muset přijít na nějaký způsob, jak klasifikovat "nejhorší adresáře", protože problém (nebo řešení) může být v jednom nebo více.

V dalším příkladu ukážu velmi jednoduchý scénář pro ilustraci tohoto bodu.

Posloupnost kroků je:

  1. Přejdeme do systému souborů, kde je málo místa na disku (jako příklad jsem použil svůj domovský adresář).
  2. Potom použijeme příkaz df -k * pro zobrazení velikosti adresářů v kilobajtech.
  3. To vyžaduje určitou klasifikaci, abychom našli ty velké, ale stačí sort nestačí, protože ve výchozím nastavení tento příkaz nebude považovat čísla za hodnoty, ale pouze za znaky.
  4. Přidáváme -n do sort příkaz, který nám nyní ukazuje největší adresáře.
  5. Pro případ, že bychom museli přejít do mnoha dalších adresářů, vytvoříme alias může být užitečné.

[ Naučte se základy používání Kubernetes v tomto bezplatném cheatu. ] 

Sbalit

Existují příkazy, které jsou užitečné v různých situacích, například grep , awk , sort . Znalost některých základních možností a jejich kombinace může být velmi efektivní, když potřebujete manipulovat a zjednodušit výstup z jiných příkazů nebo při zpracování textových souborů.

Tyto příkazy existují téměř ve všech variantách Unixu, starých i nových, a proto je výhodné je mít v tašce triků. Nikdy nevíte, kdy vám tyto nástroje zachrání život (mrknutí).


Linux
  1. Rychlé a špinavé hacky:jednořádkový HTTP server

  2. Linux – standardní a/nebo společné adresáře na operačních systémech Unix/linux?

  3. Linux .htaccess tipy a triky

  1. Tipy a triky pro použití CUPS pro tisk s Linuxem

  2. 10 zajímavých triků a tipů pro příkazový řádek Linuxu, které stojí za to vědět

  3. Linux sysadmin základy:Správa uživatelských účtů s UID a GID

  1. Nástroje Sysadmin:Zobrazení textu v Linuxu s ocasem a hlavou

  2. Odstraňování problémů se sítí Linux a ladění?

  3. Rozumíte Linux Desktopu?