Select Page

Innerhalb einer Stunde von 0 auf 100: ein fertiges Shell Script zum Backup einer WordPress Webseite.

TL;DR

Macht Freude: mit der KI Unterstützung der Windsurf IDE, ein paar Prompts, und einer Stunde Zeit zum kompletten Webseiten-Backup Shell Script (Github) auf Windows WSL. Setup, Dokumentation und Upload zu GitHub eingeschlossen.

Aufgabe: ein Shell Script mit der KI erstellen

Ich beschäftige mich seit einigen Jahren locker mit „KI“, erzeuge Bilder, nutze ChatGPT im Alltag oder gehe auf Vorträge zum Microsoft Copilot. Aber, Zeit zum Coden mit KI habe ich mir leider noch zu wenig genommen. Heute wollte ich mich hier weiter vertiefen.

Natürlich gibt es den Github Copilot, ChatGPT und viele andere. Aber kürzlich war mir die Windsurf IDE aufgefallen. Sie basiert auf VS Code und erweitert es um mehr KI Funktionalität. Angeblich.

Und um es spannender zu machen, soll das ganze auf dem Windows WSL, dem Windows Subsystem for Linux, einer Linux Shell in Windows integriert laufen. Weil. 🙂

Installation Windsurf IDE

Also, gedacht, getan: Download der Windsurf IDE für Windows, Installation, Start. Beim ersten Start fragt Windsurf danach um es zum Path hinzugefügt werden soll (ja, ok), ob man von VS Code oder Cursor kommt und ob importiert werden soll. Alles nicht wirklich interessant für das KI Feature. Und ja, Farbschema. Der genaue Prozess ist hier gezeigt. Wichtig nur: im Abschluss muss entweder ein Konto angelegt werden oder mit einem bestehenden Konto eingeloggt werden. Das führt in den Webbrowser und öffnet danach die Windsurf IDE.

Der Willkommensbildschirm ist erst einmal verwirrend. Ich habe das völlig ignoriert und direkt „Cascade“, der eingebauten KI, erklärt, ein Shell Script für ein WordPress Backup auf Windows und WSL zu erstellen. Ziemlich konkret und anderseits auch reichlich komplex. Erschwerend: ich bin auf Windows unterwegs und möchte, dass die KI dafür bitte die WSL, das Windows -Subsystem für Linux benutzt. Warum? Weil.

Folgendes Script ließ Cascade ein Backup Script erstellen, in dem Platzhalter Variablen vorsehen waren für Usernames und Passwörter.

set up a Shell script to be used in windows wsl, what should create a 
backup of my personal website. first it should dump the mysql 
database on some external server and then second it should download 
all files using a secure ftp connection and create a zip file from all files 
and the database

Das Script nutzt CURL. Schön. Aber nicht ganz so gut geeignet für meinen Anwendungfall. Auf meinen Wunsch schreibt die KI die CURL Zeile zu WGET um. Easy. Praktisch.

Die KI macht Fehler – und lernt daraus

Jetzt möchte ich das Script testen. Aber, Linux User ahnen es: es ist nicht ausführbar. Dafür benötigt es die entsprechenden Rechte. Die KI hat mich schon darauf hingewiesen und einen Vorschlag gemacht:

Ein Klick auf „Accept“ führt den entsprechenden Befehl aus. Und schlägt großartig fehl! CHMOD gibt es natürlich nicht auf Windows:

Aber. Aber. Und jetzt kommt der Clou und das, was ich als wirklich wichtig empfinde. Die KI macht folgendes:

  1. Die KI analysiert den Output. Und bemerkt einen Fehler.
  2. Die KI entschuldigt sich höflich für den Fehler!
  3. Die KI analysiert den Fehler und macht einen Verbesserungsvorschlag
  4. Der verbesserte Vorschlag funktioniert.

Um ehrlich zu sein; das ist mehr als ich oft leiste: einen Fehler machen, ihn eingestehen und nach besseren Lösungen suchen. Das ist das, was man von einem kompetenten Assistent – egal ob menschlich oder virtuell – erwarten darf: Fehler machen und es beim nächsten Mal besser machen. Ich bin begeistert, das war ein Aha Moment.

Git und Github mit der KI

Gut, jetzt möchte ich das Script auf Github posten. Mit meinen Passwörtern im Code – nicht möglich. Ein paar Prompts später hat Cascade die Passwörter ausgelagert in eine extra Datei, ein .gitignore erstellt, die Passwort Datei dort eingetragen und ein Passwort Template angelegt. Eindrucksvoll. Weil absoluter Standard und keine Arbeit, die man ständig wiederholen möchte.

Meine Git Kenntnisse sind etwas eingerostet: ich Frage die KI, wie ich am besten vorgehe sie erklärt mir die Vorgehensweise, wie ich meine lokalen Dateien in ein GIT Repository einchecke und auf Github veröffentliche. Dabei habe ich immer die Option, die Befehle selbst auszuführen oder die KI es selbst machen zu lassen.

Das Ergebnis auf Github lässt sich sehen: https://github.com/ChristianSchueler/wordpress-backup

Dokumentation: die KI erstellt ein readme

Aber: ohweh, kein Readme. Keine Dokumentation. So lästig, dass es die meisten Entwickler am liebsten ignorieren. 14 Jahre als Unternehmer mit angestellten Softwareentwicklern könnten mich Lieder davon singen lassen, wie sehr sich Menschen gegen die Dokumentation ihrer Arbeit wehren können. Aber ich kann nicht singen. Ist wohl auch besser so.

Letztendlich erstellt die Cascade KI ein schönes readme für mich. Done.

Setup Script

Ein Test verläuft positiv. Das Script läuft. Aber nur, solange alle notwendigen Tools installiert sind. Das ist bei mir der Fall. Aber auf anderen Systemen vielleicht nicht. Also muss ein Setup her. Gesagt, getan: die KI erstellt ein Setup Script, welches alle notwendigen Abhängigkeiten installiert.

Fazit

Das ganze KI Klein-Experiment hat eine Stunde gedauert. Kürzer als das schreiben dieses Artikels (bei dem keine KI mitgeholfen hat). Ds Ergebnis ist beeindruckend. Bleibt abzuwarten, wie sehr es sich in großen Software Projekten bewährt. Angeblich klappt das schon sehr gut. Aber dazu ein anderes Mal.

Bis dahin: wer seine WordPress Seite bequem vom eigenen PC aus sichern möchte: hier das Script: https://github.com/ChristianSchueler/wordpress-backup