585.917 aktive Mitglieder*
3.663 Besucher online*
Kostenfrei registrieren
Anmelden Registrieren
HEIDENHAIN Forum

Inkrementelles Backup der TNC mit Timestamp in ZIP-Archiv, Hab da mal was gebaut

Beitrag 25.10.2022, 19:05 Uhr
segment3md
segment3md
Level 2 = Community-Facharbeiter
**
Gruppe: Mitglied
Mitglied seit: 13.10.2004
Beiträge: 66

Hallo,

ich geb euch mal ein Batch, welches ein inkrementelles Backup der TNC erzeugt und optional in ein ZIP-Archiv speichert.
Warum hab ich das gemacht:
IWir benötigen Backups unserer Maschinen wie viele hier. TNCRemo bietet ein Backup mit Versionierung doch geht dass Ganze nur über die Benutzeroberfläche und ist mir viel zu umständlich. TNCcmd bietet ebenfalls eine Backup Funktion, doch wird bei dieser immer alles überschrieben. Löscht der Bediener Programme von der Maschine sind diese Programme im Archiv auch weg. Außerdem muss man umständlich die Archive erst immer entpacken wenn man was benötigt. Gepackt sind die Archive, welche TNCcmd erzeugt, auch nicht also Platzverschwendung (zumindest bei uns sind schon einige Gb an Daten vorhanden. Des Weiteren wollte ich auf dem lokalen PC auch immer das Datum von der Maschine. Entpackt man ein Archiv mit TNCcmd wird das Datum nicht aktualisiert. Auch der Umstand, das TNCcmd immer alles von der TNC zieht war extrem nervig da es teilweise 25min gedauert hat um die Dateien runterzuladen.
Alles doof also ran und die alten Batchkenntnisse rausgeholt und selbst was geschrieben. Die ersten Gehversuche über die Script Funktion von TNCcmd waren ernüchternd mad.gif
Ich habe dann recht schnell TNCcmd nur noch für den eigentlichen Datentransfer benutzt. Das 2. Progblem war die extrem lahme Geschwindigkeit der Auswertung der Dateilisten, welche TNCcmd liefert. Mit Windows Bordmitteln war nix brauchbares zu machen. Dateidatum setzen gibts nur mit Powershell, davon habe ich keine Ahnung.
Also mal über den Tellerand zur Linux Ecke geschaut und die Befehle gefunden, welche ich benötige. War übrigens das erste mal das ich da was brauchbares entdeckt habe.
Das Ergebnis in einer lauffähigen Version habe ich angehängt. Ein paar Sachen sind noch zu tun. Steht alles im Skript.
Was macht das Skript denn jetzt?
Nach dem Start wird geprüft, ob Parameter übergeben worden. Das mache ich z.B. damit ich das Skript über die Aufgabenplanung laufen lassen kann.
Danach wird die Maschine gepingt und fall erfolgreich eine Dateiliste gezogen. Diese Dateiliste wird mit der Liste, welche auf dem Laufwerk liegt verglichen und neue sowie geänderte Dateien werden gefiltert. Nur diese Dateien werden dann von der Maschine gezogen.
Danach werden diese Dateien optional zu einem ZIP Archiv hinzugefügt. Die Tool.T wird separat in den Archivordner gelegt.
Ihr braucht ein paar Programme, also touch.exe und gawk.exe aus dem Linuxarchiv sowie rush.exe und 7zip.

Die benötigten Skripte für den genialen Interpreter gawk liefere ich mit, den Rest müsstet ihr ziehen da ich nicht weiß ob man das so einfach teilen darf. Die oben genannten Daten am Einfachsten mit in den Ordner legen, in dem die Skripte sind. Alles andere hab ich versucht so gut wie möglich im Batch zu beschreiben.
Für Fragen und Anregungen bin ich offen.

So reicht jetzt. Im Anhang das ZIP Archiv mit den Skripten. smile.gif


Würde mich über ein Feedback freuen danke.gif

Im Anhang noch ein Screenshot. Unten sieht man auch wie schnell das Ganze geht. (die Maschine braucht normalerweise 25min)
Angehängte Datei(en)
Angehängte Datei  BACKUP_TOOLS.zip ( 5.49KB ) Anzahl der Downloads: 20
Angehängte Datei  TNC_BACKUP.jpg ( 62.27KB ) Anzahl der Downloads: 32
 
TOP    



1 Besucher lesen dieses Thema (Gäste: 1)
0 Mitglieder: