Contattataci

Struttura del corso

Giorno 1
Modulo 1: Introduzione a Python per utenti Unix

Argomenti trattati
Perché scegliere Python per lo scripting e l’automazione
• i vantaggi di Python nello scripting
• l’utilizzo di Python nell’amministrazione dei sistemi e nei processi DevOps

Confronto tra Bash e Python
• variabili
• flusso di controllo (istruzioni if, cicli)
• gestione dei file
• esecuzione di comandi di sistema

Struttura di uno script Python
• come eseguire gli script in Python
• utilizzo dell’interprete
• gestione degli argomenti da riga di comando
• introduzione a argparse

Esercizi pratici
Esercizio 1 – Conversione di uno script Bash in Python
Si tratta di uno script Bash che:
• elenca i file presenti in una directory
• filtra in base all’estensione dei file
• visualizza alcune statistiche
I partecipanti dovranno riscrivere questo script utilizzando Python.

Esercizio 2 – Creazione di uno script Python con argomenti da riga di comando
Si deve creare uno script Python che:
• accetti parametri forniti dall’utente in fase di esecuzione
• elabori i file in input
• presenti i risultati in modo strutturato

Modulo 2: Manipolazione di file e directory

Argomenti trattati
Lavorare con il file system in Python
• lettura e scrittura di file
• navigazione tra le cartelle
• gestione dei percorsi

Utilizzo del modulo pathlib
• gestione dei percorsi
• operazioni sui file

Sostituzione delle utility tipiche di Unix
• grep, find, sed e awk
verranno implementati mediante Python in luogo dei rispettivi strumenti tradizionali

Esercizi pratici
Esercizio 1 – Analisi del file system
Si deve realizzare uno script Python che:
• individui i file di grandi dimensioni
• identifichi i file datati
• generi un report finale

Esercizio 2 – Elaborazione di file di configurazione
Lo script Python richiesto dovrà:
• leggere i file di testo
• estrarre informazioni rilevanti
• calcolare le statistiche necessarie

Giorno 2
Modulo 3: Elaborazione dei log e manipolazione del testo

Argomenti trattati
Lavorare con il testo in Python
• operazioni sulle stringhe
• filtraggio e trasformazione dei dati

Espressioni regolari (regex)
• riconoscimento di pattern specifici
• analisi dei log sistematici

Sostituzione delle pipeline tipiche della shell
Ad esempio: grep | awk | sed | sort
verranno implementati in Python per un risultato analogo.

Esercizi pratici
Esercizio 1 – Analisi dei file di log
Il programma richiesto dovrà:
• leggere i log di sistema
• individuare eventuali errori riscontrati
• calcolarne la frequenza di occorrenza

Esercizio 2 – Conversione di una pipeline Bash in Python
Si tratta della trasformazione di una complessa catena di comandi Bash in un corrispondente script Python.

Modulo 4: Automazione dei comandi di sistema

Argomenti trattati
Esecuzione di comandi shell da Python
• il modulo subprocess
• acquisizione dell’output prodotto dai comandi
• gestione degli errori durante l’esecuzione

Automatizzazione delle attività amministrative
• esecuzione dei comandi di sistema
• integrazione con le pianificazioni automatizzate tipo cron
• creazione di script per compiti ripetitivi

Gestione dei processi in corso
• monitoraggio dei processi attivi
• gestione dell’esecuzione parallela di operazioni semplici

Esercizi pratici
Esercizio 1 – Script Python per l’invocazione di comandi di sistema
Lo script dovrà:
• eseguire dei comandi Unix specificati
• raccogliere i risultati ottenuti
• generare un resoconto finale

Esercizio 2 – Monitoraggio di servizi in esecuzione
Si deve creare uno script Python che:
• verifichi lo stato attuale di un determinato servizio
• raccolga informazioni pertinenti
• mostri tali dati in modo chiaro all’utente

Giorno 3
Modulo 5: Automazione avanzata e interazione con servizi esterni

Argomenti trattati
Utilizzo delle API in Python
• introduzione alle richieste HTTP
• autenticazione e utilizzo dei token di accesso
• elaborazione delle risposte provenienti dai server sotto forma di JSON

Python applicato all’automazione DevOps
• raccolta dati da servizi remoti
• integrazione con gli strumenti già esistenti nell’ambiente di lavoro • creazione e utilizzo di script per la gestione infrastrutturale

Esercizi pratici
Esercizio 1 – Script Python per l’utilizzo di un’API
• lo script dovrà raccogliere dati da una determinata API
• elaborare tali informazioni in modo appropriato
• produrre infine un report strutturato

Esercizio 2 – Automazione della raccolta di informazioni di sistema
• realizzare uno script Python capace di estrarre dati sistematici specifici
• generare un file in formato JSON o CSV contenente i risultati

Modulo 6: Creazione di uno strumento CLI per l’amministrazione dei sistemi

Argomenti trattati
• organizzazione del codice all’interno di un progetto Python
• riutilizzabilità delle funzioni definite
• gestione dei moduli e dei pacchetti necessari

Realizzazione di uno strumento CLI completo
• gestione avanzata degli argomenti da riga di comando
• produzione di output strutturato per l’utente
• implementazione adeguata della gestione degli errori

Esercizio finale
I partecipanti dovranno realizzare autonomamente uno strumento CLI in Python capace di:
• analizzare i file log presenti sul sistema
• individuare e classificare eventuali errori riscontrati
• produrre statistiche informative utili
• poter essere eseguito direttamente dalla riga di comando

Risultati attesi al termine del corso
Alla fine del percorso formativo, i partecipanti saranno in grado di:
• convertire gli script Bash esistenti in codice Python
• impiegare Python per automatizzare qualsiasi attività relativa alla gestione dei sistemi
• elaborare i log e altri dati complessi in modo efficiente
• realizzare strumenti CLI personalizzati finalizzati all’amministrazione di sistemi Unix

Requisiti

Prerequisiti

  • Conoscenze di base sui sistemi operativi Unix/Linux
  • Familiarità nell’utilizzo della riga di comando (shell/Bash)
  • Esperienza nella scrittura di script shell semplici (ad esempio cicli, condizioni, operazioni sui file)
  • Una certa dimestichezza con i concetti fondamentali dell’amministrazione dei sistemi risulta utile
  • Non è richiesta alcuna esperienza pregressa in Python

Pubblico di riferimento

  • Amministratori di sistema operanti su ambienti Unix/Linux
  • Ingegneri DevOps intenzionati a potenziare le proprie capacità di automazione
  • Ingegneri e specialisti tecnici che quotidianamente utilizzano lo scripting in shell
  • Professionisti IT desiderosi di passare da Bash a Python per le proprie attività
  • Sviluppatori che lavorano su sistemi Unix e vogliono automatizzare i propri flussi di lavoro in modo più efficace
 21 ore

Numero di Partecipanti


Prezzo per partecipante

Recensioni (2)

Corsi in Arrivo

Categorie relative