Krása příkazového prostředí

V diskusích lidé často píší o nutnosti používat v operačních systémech postavených nad linuxovým jádrem příkazové prostředí shellu. Někteří se jej dokonce snaží posměšně přirovnávat k DOSu. V tomto článku bych se chtěl pokusit ukázat eleganci práce v příkazovém prostředí.

Pokud odhlédnu od toho, že už hodně let netřeba pro bežného uživatele na příkazové prostředí sáhnout (samozřejmně pokud nechce), chtěl bych ukázat nesmírnou eleganci příkazového prostředí z hlediska běžné práce.  Běžné mé práce, pracovník ve střižně videa bude jistě používat jiné programy.

Pracuji jako správce serverů (z posledních projektů třeba první etržiště nové generace Gemin), hlavním a často jediným přístupem na servery je ssh. To je ale vynikající věc. Pomocí ssh lze dělat úplně všechno, včetně spouštění grafických programů (pokud je to skutečně nutné), pomocí forwardování X protokolu, které běží na vzdáleném počítači a zobrazují se u klienta. Dále je možné si pomocí ssh vytvořit TCP tunel a připojit se přes prostředníka na další síťové hosty. To vše bezpečně pomocí šifrování. Přihlašování lze též zařídit pomocí klíčů (a zcela vypnout přihlašování pomocí hesel). Nehledě ke snadné možnosti si takto posílat soubory (scp) a připojovat vzdálené adresáře pomocí sshfs.

Pomocí příkazu ssh lze také spouštět na vzdáleném stroji příkazy, přičem jejich výstup lze zpracovat na počítači klietna.

Posílání SMS pomocí Mikrotik RouterOS

RouterBoard s USB portem může sloužit jako jednochuchá SMS brána pro odesílání zpráv. Výborně se hodí například ve spojení s NAGIOSem (nebo novějším forkem ICINGA).

Na ROS samotném se sms pošle pomocí příkazu:

/tool sms send usb1 dst=+420xxxxxxxxx message="Zprava."

Kde usb1 je jméno portu získaného příkazem /port print. dst je telefonní číslo a message je potom samotná zpráva.

Pokud existuje přihlašování pomocí klíču pro uživatele admin-ssh, lze potom snadno posílat sms pomocí volání:

ssh admin-ssh@routerboard '/tool sms send usb1 dst=+420xxxxxxxxx message="Zprava."'

Zjištění údajů z mnoha serverů

Když už lze spouštět vzdáleně příkazy a předávat si data, možnosti jsou neomezené. Výhoda (a občas také nevýhoda, nechť hodí kamenem ten, kdo ještě nenapsal příkaz typu shutdown na nesprávné konzoli a shodil si tak jiný stroj) unixového prostředí je, že vlastně téměř nezáleží na tom, u kterého počítače člověk sedí. Pokud jsou ještě připojené stejné disky (což mi připomnělo, že bych mohl pokročit v miniseriálku o NFS) je to už prakticky úplně jedno.

Před malou chvílí jsem potřebovat získat informace o velikosti swapu, či spíše jeho vypnutém stavu, na mnoha serverech. Vnikl tento kratoučký skript:

#!/bin/bash
list="seznam adres hostů"

for i in $list;
do
 echo "Server $i"
 ssh tc@$i "free -mt | grep \"Swap\"";
done

Výsledek potom vypadá nějak takto (tyhle hosty zveřejnit můžu :-)):

Server 192.168.7.103
Swap: 0 0 0
Server 192.168.7.123
Swap: 0 0 0
Server 192.168.7.153
Swap: 0 0 0

Jednoduchý příklad a přes to ukazuje eleganci spojení mnoha jednodušších příkazů (free, grep, ssh, bash).

A tak dále. Tohle asi nejsou nejtypičtejší ukázky práce na příkazovém prostředí, tohle bylo spíše vzdálené (ale já prostě pracuji na vzdálených serverech). Unixové prostředí umožňuje snadno řetězit programy, dobrý příklad vyšel například v článku o Pythonu a GNUPlot na Linuxexpres.cz.

Příspěvek byl publikován v rubrice Linux, Názory, Počítače, SSH. Můžete si uložit jeho odkaz mezi své oblíbené záložky.

2 komentáře: Krása příkazového prostředí

  1. Michal napsal:

    Mohu se zeptat, jaký modem ve spojení s Mikrotikem se osvědčil a používáte je pro ono odesílání SMS?
    Děkuji

    • Heron napsal:

      Používáme USB 3G modemy od operátora O2, je to nějaký obyč. Huawei , ale funguje.

      Občas (jednou za pár měsíců – není to často) se zasekne, je proto dobré mít RouterBoard, který umí vypnout a zapnout USB power. Někdy si jen stačí pohrát s AT příkazy a restartovat modem samotný (pokud to jde).

Komentáře nejsou povoleny.