suche
ESC

Skripte & Automatisierung — Grundlagen (LF5)

Programmierlogik, Regex-Basics und einfache Zeitsteuerung als Azubi-Einstieg in die Automatisierung.

Azubi Automation 28 Min +140 XP

Worum geht’s

IHK-Lernfeld 5 verlangt von Auszubildenden, einfache Abläufe zu automatisieren und Daten mit Skripten zu verarbeiten. Du musst (noch) kein:e Programmierer:in sein — aber du solltest Grundbausteine der Logik verstehen, einfache reguläre Ausdrücke lesen und schreiben können und wissen, wie man eine wiederkehrende Aufgabe zeitgesteuert laufen lässt. Genau das spart im IT-Alltag täglich Zeit: Logs filtern, Dateien umbenennen, Backups planen. Dieses Modul ist der sanfte Einstieg — die Vertiefung kommt später in D6.

Konzept

Programmierlogik — drei Grundbausteine. Fast jedes Skript besteht aus:

  • Sequenz: Anweisungen laufen nacheinander ab.
  • Bedingung (if/else): „Wenn X, dann tu Y, sonst Z.”
  • Schleife (for/while): wiederhole etwas, bis eine Bedingung erfüllt ist.

Dazu kommen Variablen (benannte Speicher) und Vergleiche (==, <, >). Mehr braucht es für einfache Automatisierung selten.

Reguläre Ausdrücke (Regex) — Muster für Text. Ein Regex beschreibt, wie Text aussieht, nicht was genau drinsteht. Wichtige Bausteine:

  • . ein beliebiges Zeichen · \d eine Ziffer · \w Wort-Zeichen · \s Leerraum
  • + ein oder mehr · * null oder mehr · ? null oder eins
  • [abc] eine Auswahl · ^ Anfang · $ Ende · ( ) Gruppe

Beispiel: \d{3}-\d{4} passt auf „123-4567”. Regex steckt in fast jedem Log-Filter und jeder Suche-und-Ersetze-Operation.

Zeitsteuerung mit Cron. Wiederkehrende Aufgaben startet man unter Linux per Cron. Ein Cron-Ausdruck hat fünf Felder: Minute Stunde Tag Monat Wochentag. 0 9 * * 1-5 bedeutet „werktags um 09:00”.

    Sicherheitshinweis: Automatisierte Skripte laufen oft mit erhöhten Rechten. Teste sie zuerst gefahrlos (z. B. nur ausgeben statt löschen), bevor du sie scharf schaltest — ein fehlerhafter Cron-Job kann sehr fleißig Schaden anrichten.

    Beispiel-Fall

    Gegeben: Aus einem Logfile sollst du alle Zeilen herausfiltern, die eine IPv4-Adresse enthalten, und das Ganze soll künftig jeden Morgen automatisch laufen.

    1. Muster überlegen: Eine IPv4 sind vier Zahlengruppen mit Punkten. Ein einfaches (nicht perfektes) Muster: \d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}.
    2. Im Regex-Tester prüfen: Du fügst Beispielzeilen ein und kontrollierst, dass nur die IP-Zeilen markiert werden — und keine harmlose Zahl wie „12.5” fälschlich matcht.
    3. In ein Skript gießen (Pseudocode): für jede Zeile: wenn Zeile passt auf Muster → in Ausgabedatei schreiben. Das ist Sequenz + Bedingung + Schleife in Reinform.
    4. Zeitsteuern: Ein Cron-Eintrag 0 7 * * * startet das Skript täglich um 07:00.
    5. Absichern: Erst im Trockenlauf prüfen (nur zählen, nicht überschreiben), dann scharf.

    So wird aus „mach das mal jeden Tag” ein nachvollziehbarer, getesteter und geplanter Automatismus — die Kernkompetenz aus LF5.

    Anwenden

    ▶ Am Tool ausprobieren

    Regex versteht man durch Ausprobieren: kleine Änderung, sofort sehen, was sich am Treffer ändert. Für die Zeitplanung hilft /tools/cron-builder.

    1. Füge ein paar Beispiel-Logzeilen ein, von denen einige eine IP enthalten.
    2. Gib das Muster \d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3} ein und sieh die Treffer.
    3. Variiere das Muster: Was passiert mit \d+ statt \d{1,3}? Wird zu viel markiert?
    4. Teste bewusst eine Zeile ohne IP — sie darf nicht matchen.
    Tool öffnen: /regex-tester ↗

    Selbsttest

    Praxis-Challenge

    ⚑ Praxis-Challenge

    Nimm dir eine reale, kleine Wiederholaufgabe vor (z. B. „alle E-Mail-Adressen aus einem Text ziehen”). Entwirf zuerst das Regex-Muster und verifiziere es im Regex-Tester an echten und an absichtlich falschen Beispielzeilen. Beschreibe dann in Pseudocode die drei Logikbausteine (Sequenz, Schleife, Bedingung), die das Skript bräuchte. Lege zuletzt mit dem Cron-Builder einen Zeitplan fest, der die Aufgabe werktags morgens ausführt — und notiere, wie du den ersten Lauf gefahrlos testen würdest.

    Tool öffnen: /regex-tester ↗

    Modul im Speedrun testen →