Scripting

Naast automatiseren van andermans werk doe je als rechtgeaard programmeur ook je eigen werk automatiseren.

Voor mij begon dat op het mainframe al met applicatietjes en scriptjes in RPF, en Python maakte dat op de PC een stuk makkelijker. Gelukkig was dat in een tijd dat we op het werk nog zelf software konden installeren. Windows bood wat dat betreft niet zo heel veel mogelijkheden, waardoor op OS-niveau scripten pas voorzichtig begon toen ik overstapte op Linux. Dat is ook de reden dat er van die werk-dingen niks in deze verzameling is overgebleven.

Op mijn Linux machine ben ik op een gegeven moment scripts gaan verzamelen in een directory bin onder mijn home directory en deze had ik aan het standaard zoekpad voor de shell toegevoegd zodat ik ze kon uitvoeren met alleen de programmanaam. Het begon met starters voor mijn eigengemaakte applicaties en een scriptje dat al mijn ontwikkelrepostories langsliep om de recente commits uit te lijsten zodat ik wist wat ik naar Bitbucket over moest zetten.

Daarnaast had ik een soortgelijke directory nginx-config waarin ik het een en ander had bijeengeschreven voor het bijhouden van mijn locale webserver. Ik had een library ontdekt waarmee je makkelijk python scripts kom schrijven om systeemtaken uit te voeren: fabric (inmiddels vervangen door inv). Die gebruikte ik om server configuraties aan te passen en servers te stoppen en te starten (in de zin dat een server gewoon een programma is dat reageert op requests vanuit een browser en een response terugstuurt).

Die functionaliteit ben ik later ook gaan gebruiken in bin en ik heb inmiddels een forse verzameling van dat soort dingen, veelal scripts die aan aantal commando's achter elkaar uitvoeren met wat logica eromheen, iets dat ik ook in bash (de meestgebruikte taal om shell commando's uit te voeren) had kunnen doen maar dat kon ik toentertijd nog niet. Tegenwoordig gaat me dat wat makkelijker af en taken die wat minder ingewikkeld zijn script ik nu daarin (zie onder bij "scripts library").


een opsomming van wat ik momenteel aan zelfgebouwde (fabric / inv) scripts heb:

daarnaast het een en ander voor het starten en stoppen van server programma's, met name:

source: https://github.com/albertvisser/scripts/

documentatie: /docs/scripts/