Donnerstag, 17. Juni 2010

es geht weiter



Cool nach mehr als 1 Jahr Pause ... Es geht weiter!

Wir haben das Krisenjahr 2009 überstanden und es geht leicht verletzt in 2010 weiter.
Ich habe jetzt die ganze Firmen Gruppe (Konstruktionsbüro, Ingenieurbüro, EMSR, Service) in meiner Betreuung und dementsprechend viel Arbeit.

Aber natürlich häufen sich dann auch die interessanten Momente.
Ich bin seit Montag dabei wieder zu Programmieren:

Eigentlich wollte ich ein einfaches Skript schreiben, welches mir ein Snapshot eines Storage
als Laufwerk auf meinen Backup-Server einbindet.

Das Skript habe ich schnell verworfen, da ich die Rückgabewerte der ganzen Routinen filtern muss. Also mal wieder VB.NET.

Wenn mir jemand gesagt hätte, dass man die Storage so genial mit Skripten ansteuern und verwalten kann, hätten wir das ding viel eher gekauft.

Folgende Schritte:

  1. Remote per Perl-Skripten einen Snapshot machen, diesen Online setzen und den Namen, der als Rückgabewert kommt merken.
  2. Auf dem Backup-Server die TargetPortal des Hosts aktualisieren
  3. Die Targetliste auf dem Host aktualisieren
  4. Den Namen der Snapshots in der Targetliste parsen
  5. Die Targets mounten und auf die Laufwerke warten
  6. Die Daten sichern
  7. Die Targets auf dem Host unmounten
  8. Remot die erzeugten Snapshots löschen

Ich wollte dann warten bis die Sicherung durch ist und habe immer überprüft wann der Prozess weg ist.
Dabei habe ich wieder eine Lektion gelernt, der Unterschied zwischen einer Schleife mit Eintrittsbedingung und einer Schleife mit Austrittsbedingung ... Das hast du doch mal was gelernt...

aber wieder verdrängt:

Ich habe eine Schleife mit Eintrittsbedingung programmiert und mich gewundert, warum ich nicht nicht aus der Schleife fliege, wenn die Bedingung nicht mehr erfüllt wird *AAAHHRG*

Typischer Anfängerfehler ... Shit happens

Hier das schöne Konstrukt, ich warte drauf, dass es keinen Prozess "robocopy.exe" mehr gibt:

Dim localprocess As Process()
Do
localprocess = Process.GetProcessesByName("robocopy")
Loop While localprocess.Length <> 0

Das Programm funktioniert jetzt praktisch, ich muss es jetzt nur noch "schön" programmieren. Eingabefehler abfangen etc. pp.

Wie sagte mein Programmierungslehrer immer: "ihr müßt alles abfangen, sogar wenn der Nutzer mit dem Kopf auf die Tastatur haut"

Dann will ich mal weiter ...

Keine Kommentare:

Kommentar veröffentlichen