Návrh Školení
Denní 1
Modul 1: Úvod do jazyka Python pro uživatele Unixu
Témata
Proč použít Python pro skriptování a automatizaci
• výhody Pythonu pro skriptování
• využití Pythonu ve správě systémů a DevOps
Porovnání Bash vs. Python
• proměnné
• řízení toku (podmínky, cykly)
• práce se soubory
• vykonávání systémových příkazů
Struktura skriptu v Pythonu
• spouštění skriptů v Pythonu
• použití interpretu
• argumenty příkazového řádku
• úvod do modulu argparse
Cvičení
Cvičení 1 – Převod jednoduchého skriptu Bash na Python
Skript v Bash, který:
• vypíše soubory z adresáře
• provede filtrování podle přípony
• zobrazí statistiky
Účastníci skript přepracují do jazyka Python.
Cvičení 2 – Skript v Pythonu s argumenty příkazového řádku
Vytvoření skriptu v Pythonu, který:
• přijímá parametry z příkazového řádku
• zpracovává soubory
• zobrazuje strukturované výsledky
Modul 2: Manipulace se soubory a adresáři
Témata
Práce s adresářovým systémem v Pythonu
• čtení a zápis souborů
• navigace v adresářích
• manipulace s cestami
Použití modulu pathlib
• správa cest
• operace se soubory
Nahrazení nástrojů Unixu
• grep
• find
• sed
• awk
implementací v Pythonu
Cvičení
Cvičení 1 – Prohledávání souborového systému
Skript v Pythonu, který:
• hledá velké soubory
• identifikuje staré soubory
• generuje report
Cvičení 2 – Zpracování konfiguračních souborů
Skript v Pythonu, který:
• čte textové soubory
• extrahuje relevantní informace
• generuje statistiky
Denní 2
Modul 3: Zpracování protokolů a manipulace s textem
Témata
Práce s textem v Pythonu
• operace s řetězci
• filtrování a transformace dat
Regulární výrazy (regex)
• identifikace vzorů
• parsování protokolů
Nahrazení potrubí (pipelines) shellu
Příklad:
grep | awk | sed | sort
implementováno v Pythonu
Cvičení
Cvičení 1 – Analýza logů
Skript v Pythonu, který:
• čte systémové protokoly
• identifikuje chyby
• počítá četnost chyb
Cvičení 2 – Převod potrubí shellu na Python
Složité potrubí Bash transformované do skriptu v Pythonu
Modul 4: Automatizace systémových příkazů
Témata
Vykonávání příkazů shellu z Pythonu
• modul subprocess
• zachycování výstupu
• zpracování chyb
Automatizace správních úkolů
• spouštění systémových příkazů
• integrace s plánovačem úloh cron
• skriptování pro opakované úkoly
Správa procesů
• monitorování procesů
• jednoduché paralelní vykonávání
Cvičení
Cvičení 1 – Skript v Pythonu, který spouští systémové příkazy
Skript, který:
• spouští příkazy Unixu
• zachycuje výstup
• generuje reporty
Cvičení 2 – Monitorování služeb
Skript v Pythonu, který:
• kontroluje stav služby
• shromažďuje informace
• zobrazuje výsledky
Denní 3
Modul 5: Pokročilá automatizace a interakce s externími službami
Témata
Práce s API v Pythonu
• úvod do HTTP požadavků
• autentizace a tokeny
• zpracování odpovědí JSON
Python pro automatizaci DevOps
• shromažďování dat z externích služeb
• integrace s existujícími nástroji
• skriptování infrastruktury
Cvičení
Cvičení 1 – Skript v Pythonu spotřebovávající API
Skript, který:
• shromažďuje data z API
• zpracovává informace
• generuje report
Cvičení 2 – Automatizace shromažďování dat
Skript v Pythonu, který:
• shromažďuje informace o systému
• generuje report ve formátu JSON nebo CSV
Modul 6: Vytvoření nástroje CLI pro správu
Témata
Strukturování projektu v Pythonu
• organizace kódu
• znovupoužití funkcí
• moduly a balíčky
Vytvoření nástroje CLI
• argumenty příkazového řádku
• strukturovaný výstup
• zpracování chyb
Závěrečné cvičení
Účastníci vytvoří automatizační nástroj CLI v Pythonu, který:
• analyzuje soubory s protokoly
• identifikuje chyby
• generuje statistiky
• lze spustit z příkazového řádku
Výstupy kurzu
Na konci kurzu budou účastníci schopni:
• transformovat skripty shellu na skripty v Pythonu
• používat Python pro automatizaci systémových úkolů
• zpracovávat protokoly a složitá data
• vytvářet nástroje CLI pro správu systémů Unix
Požadavky
Předpoklady
- Základní znalost operačních systémů Unix/Linux
- Seznámení s prací na příkazovém řádku (shell/Bash)
- Zkušenosti s psaním jednoduchých skriptů v shellu (např. cykly, podmínky, operace se soubory)
- Obecné pochopení konceptů správy systémů je výhodou
- Požadovaná žádná předchozí znalost jazyka Python
Cílová skupina
- Správci systémů pracující v prostředích Unix/Linux
- Inženýři DevOps hledající zlepšení svých možností automatizace
- Inženýři a techničtí odborníci používající skriptování v shellu pro každodenní úkoly
- IT profesionálové zajímající se o přechod z Bash na Python
- Vývojáři pracující v prostředích Unix, kteří chtějí efektivněji automatizovat pracovní postupy
Reference (2)
Praktické cvičení související s obsahem skutečně pomáhají lépe pochopit každý téma. Navíc, styl začínání hodiny přednáškou a pokračování praktickým cvičením je dobrý a užitečný pro propojení s přednáškou prezentovanou dříve.
Nazeera Mohamad - Ministry of Science, Technology and Innovation
Kurz - Introduction to Data Science and AI using Python
Přeloženo strojem
Příklady a cvičení dokonale přizpůsobené našemu oboru
Luc - CS Group
Kurz - Scaling Data Analysis with Python and Dask
Přeloženo strojem