Kursplan
Dag 1
Modul 1: Introduksjon til Python for Unix-brukere
Temaer
Hvorfor Python for skripting og automatisering
• fordeler med Python for skripting
• bruk av Python i systemadministrasjon og DevOps
Sammenligning av Bash og Python
• variabler
• flytstyring (hvis, løkker)
• arbeid med filer
• utføring av systemkommandoer
Struktur av et Python-skript
• kjøring av Python-skript
• bruk av tolken
• kommandolinjeargumenter
• introduksjon til argparse
Øvelser
Øvelse 1 – Konvertering av et enkelt Bash-skript til Python
Bash-skript som:
• lister filer fra en katalog
• filtrerer etter filtype
• viser statistikk
Deltakerne vil omskrive skriptet i Python.
Øvelse 2 – Python-skript med CLI-argumenter
Opprettelse av et Python-skript som:
• mottar parametre fra kommandolinjen
• behandler filer
• viser strukturerte resultater
Modul 2: Fil- og katalogmanipulasjon
Temaer
Arbeid med filsystemet i Python
• lesing og skriving av filer
• navigering mellom kataloger
• håndtering av baner
Bruk av pathlib-modulen
• banestyring
• filoperasjoner
Erstatning av Unix-verktøy
• grep
• find
• sed
• awk
med Python-implementeringer
Øvelser
Øvelse 1 – Filsøking
Python-skript som:
• søker etter store filer
• identifiserer gamle filer
• genererer en rapport
Øvelse 2 – Behandling av konfigurasjonsfiler
Python-skript som:
• leser tekstfiler
• trekker ut relevant informasjon
• genererer statistikk
Dag 2
Modul 3: Loggbehandling og tekstmanipulasjon
Temaer
Arbeid med tekst i Python
• strengoperasjoner
• filtrering og transformasjon av data
Regulære uttrykk (regex)
• mønstergjenkjenning
• loggparsing
Erstatning av shell-pipelines
Eksempel:
grep | awk | sed | sort
implementert i Python
Øvelser
Øvelse 1 – Loggfilanalyse
Python-skript som:
• leser systemlogger
• identifiserer feil
• beregner feilfrekvens
Øvelse 2 – Konvertering av en shell-pipeline til Python
Kompleks Bash-pipeline transformert til et Python-skript
Modul 4: Automatisering av systemkommandoer
Temaer
Utføring av shell-kommandoer fra Python
• subprocess-modulen
• fangst av utdata
• feilhåndtering
Automatisering av administrative oppgaver
• kjøring av systemkommandoer
• integrasjon med cron-jobs
• skripting for repeterende oppgaver
Prosesshåndtering
• overvåking av prosesser
• enkel parallell utføring
Øvelser
Øvelse 1 – Python-skript som kjører systemkommandoer
Skript som:
• kjører Unix-kommandoer
• fanger utdata
• genererer rapporter
Øvelse 2 – Tjenesteovervåking
Python-skript som:
• sjekker statusen til en tjeneste
• samler informasjon
• viser resultater
Dag 3
Modul 5: Avansert automatisering og interaksjon med eksterne tjenester
Temaer
Arbeid med API-er i Python
• introduksjon til HTTP-forespørsler
• autentisering og token
• prosessering av JSON-respons
Python for DevOps-automatisering
• innsamling av data fra eksterne tjenester
• integrasjon med eksisterende verktøy
• infrastrukterskripting
Øvelser
Øvelse 1 – Python-skript som konsumerer et API
Skript som:
• samler data fra et API
• prosesserer informasjonen
• genererer en rapport
Øvelse 2 – Automatisering av dat Innsamling
Python-skript som:
• samler systeminformasjon
• genererer en JSON- eller CSV-rapport
Modul 6: Bygging av et CLI-verktøy for administrasjon
Temaer
Strukturering av et Python-prosjekt
• kodeorganisering
• gjenbruk av funksjoner
• moduler og pakker
Opprettelse av et CLI-verktøy
• kommandolinjeargumenter
• strukturerte utdata
• feilhåndtering
Sluttoppgave
Deltakerne vil bygge et CLI-automatiseringsverktøy i Python som:
• analyserer loggfiler
• identifiserer feil
• genererer statistikk
• kan kjøres fra kommandolinjen
Kursresultater
Ved slutten av kurset vil deltakerne kunne:
• transformere shell-skript til Python-skript
• bruke Python til å automatisere systemoppgaver
• behandle logger og komplekse data
• bygge CLI-verktøy for Unix-systemadministrasjon
Krav
Forutsetninger
- Grunnleggende kunnskap om Unix/Linux-operativsystemer
- Bekjentskap med kommandolinjebruk (shell/Bash)
- Erfaring med å skrive enkle shell-skript (f.eks. løkker, betingelser, filoperasjoner)
- Generell forståelse av systemadministrasjonskonsepter er en fordel
- Ingen tidligere Python-erfaring påkrevet
Målgruppe
- Systemadministratorer som arbeider i Unix/Linux-miljøer
- DevOps-ingeniører som ønsker å forbedre automatiseringsmulighetene
- Ingeniører og tekniske spesialister som bruker shell-skripting til daglige oppgaver
- IT-fagfolk som er interessert i å gå fra Bash til Python
- Utviklere som arbeider i Unix-miljøer og ønsker å automatisere arbeidsflyter mer effektivt
Referanser (2)
Praktiske øvelser relatert til innholdet hjelper virkelig med å forstå mer om hvert emne. Dette gjelder også for stilarten med å begynne klassemøtet med en forelesning og fortsette med praktiske øvelser, som er god og nyttig for å knytte sammen med den presenterte forelesningen.
Nazeera Mohamad - Ministry of Science, Technology and Innovation
Kurs - Introduction to Data Science and AI using Python
Maskinoversatt
Eksempler/øvelser perfekt tilpasset vår domene
Luc - CS Group
Kurs - Scaling Data Analysis with Python and Dask
Maskinoversatt