Ergebnis 1 bis 6 von 6
-
16.12.2007, 19:15 #1Northman
Biete: Backup-Batch für die SD-Karte
nachdem mir neulich meine MicroSD-Karte kaputt gegangen ist, war ich wirklich froh, daß ich ein aktuelles Backup der Daten hatte, welches auf die neue Karte kopiert wurde und ich so meine ganzen Spielstände wiederbekommen habe.
Ich habe das Backup immer mit der Funktion "Verzeichnisse synchronisieren" des Total Commander gemacht, um nur die geänderten Dateien kopieren zu müssen. Diese Methode funktioniert, ist aber für regelmäßige Backups nicht wirklich konfortabel. Aus diesem Grund habe ich mir eine kleine Batch-Datei geschrieben, die die geänderten Dateien kopiert und danach das komplette Verzeichnis in ein Archiv packt, so daß man ein paar Versionen aufheben kann. Das ist zB dann sinnvoll, um auf einen älteren Spielstand zurückzugehen, weil der aktuelle defekt ist, oder man so gespeichert hat, daß ein Weiterkommen nicht mehr möglich ist, oder einfach, um eine bestimmte Stelle nochmal zu spielen.
Neben der Batchdatei benötigt man zwei weitere Tools:
Einmal 7-Zip zum Auspacken des zweiten Tools und zum Packen der Backups. 7-Zip ist OpenSource und kann frei verwendet werden. Außerdem erzeugt es kleine Archive (um Größenordnungen kleiner als normales Zip)
Und zweitens die Windows Server 2003 Resource Kit Tools. In diesen ist ROBOCOPY enthalten. Das besondere an dem Tool ist, daß es erstens robust ist (ROBust COPY ;-) ), zweitens nur geänderte Dateien kopiert und drittens ein Mirroring durchführen kann. Sprich, es löscht auf der Quelle nicht mehr vorhandene Dateien und Verzeichnisse auch im Ziel, so daß am Ende wirklich eine 1:1-Kopie entsteht.
Als erstes müßt Ihr, falls es nicht schon installiert ist, 7-Zip downloaden und installieren (aktuell: Version 4.57 vom 6.12.2007). Zusätzlich muß entweder das 7-Zip Verzeichnis in den Pfad mit aufgenommen werden, oder Ihr kopiert die 7z.exe an den gleichen Ort wie die gleich zu erstellende Batchdatei.
Danach das Ressource Kit ziehen. Wenn Ihr die anderen dort enthaltenen Tools nicht benötigt, ist eine Installation unnötig, da man die runtergeladene rktools.exe mittels 7-Zip auspacken kann und so an die robocopy.exe und robocopy.hlp kommt.
Einfach den "7-Zip File Manager" starten und links den Pfad zur rktools.exe auswählen. Mit der Markierung auf rktools.exe gehen und mittels STRG+BILD RUNTER in das Archiv reingehen. NICHT Return drücken, denn dann wird die EXE gestartet. Jetzt auf rktools.msi gehen und wieder STRG+BILD RUNTER und das gleiche nochmal auf "Cabs.winrk.cab". Jetzt auf der rechten Seite den Zielordner auswählen (zB c:\windows, denn dann ist robocopy.exe sofort im Suchpfad) und links robocopy.exe und robocopy.hlp markieren und mit F5 nach rechts auspacken.
Folgenden Code in den Texteditor Eurer Wahl (und wenn es notepad.exe ist) kopieren.
Code:@ECHO OFF REM Setzen der benoetigten Pfade set CardDIR=H:\Cardreader\SD set TargetDIR="H:\Download\download\NDS\SD Backup" set ZipDIR=H:\Download\download\NDS\_Backup\ robocopy %CardDIR% %TargetDIR% /r:0 /w:0 /COPY:DAT /MIR FOR /F "tokens=1-3 delims=." %%i in ("%date%") DO set datum=%%k-%%j-%%i FOR /F "tokens=1-2 delims=," %%i in ("%time%") DO set zeit1=%%i FOR /F "tokens=1-3 delims=:" %%i in ("%zeit1%") DO set zeit=%%i-%%j-%%k 7z a -t7z %ZipDIR%%datum%__%zeit%.7z %TargetDIR%\*.* -r -mx=5 -mmt pause
CardDIR: Entweder der Laufwerksbuchstabe des SD-Kartenreaders, oder der Pfad, wenn Ihr es so gemacht habt wie ich, daß Ihr das Laufwerk in ein leeres Verzeichnis gemountet habt.
TargetDIR: Der Pfad, an den die SD-Karte kopiert wird.
ZipDIR: Der Pfad, in dem die gepackten Dateien gespeichert werden sollen.
Wenn der Pfad Leerzeichen enthält, muß man ihn in Anführungszeichen einschließen.
Anschließend als Batchdatei speichern (zB backup_sd-karte.bat).
ACHTUNG: Auf gar keinen Fall darf Quell- und Zielverzeichnis verwechselt werden, da Robocopy sonst wegen der /MIR-Option die Karte leert. Ich empfehle vorher eine Kopie der kompletten Karte mittels des Explorers in ein sicheres Verzeichnis.
Zur Funktion der Batch:
"@ECHO OFF" schaltet die Anzeige der Befehle auf der Kommandozeile aus.
"robocopy %CardDIR% %TargetDIR% /r:0 /w:0 /COPY:DAT /MIR"
- %CardDIR% Quellverzeichnis
- %TargetDIR% Zielverzeichnis
- /r:0 Anzahl der Wiederholversuche bei Fehlern. Ein Wert größer Null ist eigentlich nur beim Kopieren übers Netz sinnvoll, wo eher mal Unterbrechungen auftreten können.
- /w:0 Zeit in Sekunden, die bei Fehler gewartet wird, bis der nächste Versuch unternommen wird.
- /COPY:DAT Gibt an, was kopiert werden soll: D=Daten, A=Attribute, T=Time
- /MIR: Mirror = im Ziel vorhandene Dateien/Verzeichnisse, welche NICHT in der Quelle sind, werden gelöscht. Somit hat mach danach eine echte 1:1-Kopie.
Interessant sind noch diese Parameter:
/XF file [file]... :: eXclude Files matching given names/paths/wildcards.
/XD dirs [dirs]... :: eXclude Directories matching given names/paths.
Damit kann man dann zB das Kopieren von MP3s verhindern, weil die nicht unbedingt ins Archiv müssen, da sie normalerweise in einem anderem Verzeichnis auf der eigenen Platte liegen und nur zum Hören mittels Moonshell oder Puzzlemaniak auf den DS kopiert wurden.
Die drei FOR-Zeilen formen das aktuelle Datum und die Uhrzeit so um, daß sich daraus der Archivname im Format YYYY-MM-DD__HH-NN-SS.7z ergibt. So sieht man genau, wann dieses Archiv erstellt wurde.
Die 7z-Zeile:
a = add to Archive -> Daten sollen gepackt werden
-t7z = Archivtyp soll 7z sein
%ZipDIR%%datum%__%zeit%.7z = Pfad und Name des Archivs, setzt sich aus den drei Variablen %ZipDIR%, %datum% und %zeit% zusammen
%TargetDIR%\*.* = alle Dateien aus dem Verzeichniss %TargetDIR%
-r = rekursiv, sprich inklusive Unterverzeichnisse
-mx=5 = Kompressionslevel (0-9, 9 = Ultra). Je höher die Zahl, um so kleiner das Archiv, aber auch so größer der RAM-Bedarf beim Packen. Bei 9 können es schon mal 600MB und mehr sein!!! Sollte also nur gewählt werden, wenn genug freier Hauptspeicher vorhanden ist.
-mnt = benutze Multithreading
7-Zip unterstützt noch jede Menge andere Kommanmdozeilenparameter, mit denen Ihr selber experimentieren könnt.
Natürlich kann man auch jeden beliebigen anderen Packer an dieser Stelle einfügen. Vielleicht gefällt Euch RAR besser und Ihr besitzt auch die nötige Lizenz dafür.
PAUSE: wartet so lange, bis man eine Taste drückt. So kann man sich die Ausgabe von Robocopy und 7-Zip angucken.
Wenn man die Batch startet, sieht man Robocopy arbeiten und am Ende kommt folgende Zusammenfassung:
Code:Total Copied Skipped Mismatch FAILED Extras Dirs : 107 16 91 0 0 0 Files : 809 66 743 0 0 0 Bytes : 361.07 m 671.7 k 360.42 m 0 0 0 Times : 0:00:06 0:00:05 0:00:00 0:00:00 Speed : 119546 Bytes/sec. Speed : 6.840 MegaBytes/min. Ended : Sun Dec 16 16:11:59 2007
Sinnvoll wäre natürlich, sich eine Verknüpfung zu der Batch auf dem Desktop oder im Startmenü anzulegen. In dieser Verknüpfuing sollte man die Größe des Zeilenpuffers erhöhen, damit keine Ausgaben nach oben verschwinden.
Ihr fragt Euch: Warum der Aufwand mit dem erst Kopieren und dann Packen und nicht direkt von der SD-Karte packen? Ganz einfach. Da nur noch die Differenzen kopiert werden, geht es sehr schnell. Nachdem das Kopieren beendet ist, kann die Karte wieder aus dem PC entfernt werden und im DS genutzt werden. Das Packen dauert je nach Größe der Daten und nach gewähltem Kompressionslevel auch mal länger als eine halbe Stunde. Wer will denn so lange auf den DS verzichten? ;-))
Zusätzlich ist das letzte Backup immer ungepackt vorhanden und kann einfacher verwendet werden.
Und wie kommt man wieder an die Daten ran, wenn man sie braucht?
Der 7-Zip File Manager arbeitet nach dem gleichen Prinzip wie der alte Norton Commander. Man kann durch das Archiv browsen und es komplett auspacken oder auch nur einzelene Dateien/Verzeichnisse.
Wenn jemand mit dem Total Commander arbeiten möchte (kann ich nur empfehlen ;-)) ), muß er sich das 7-Zip Plugin für den TC installieren. Damit kann er wie von RARs/ZIPs gewohnt durch 7z-Archive browsen und entpacken.
Ich hoffe der ein oder andere findet das Ganze nützlich :-))
BTW: Die Anwendung des Beschriebenen erfolgt auf eigene Gefahr! Ich kann es nur nochmal wiederholen: Robocopy löscht bei falschen Parametern Dateien ohne Rückfrage. Im Zweifelsfall sollte sich jeder erstmal ein bischen mit Robocopy vertraut machen. Mittels des Parameters /L zeigt Robocopy nur, was er machen würde, führt es aber nicht aus. Zum Testen natürlich optimal. Der Parameter kann am Anfang natürlich auch zum Testen in die Batch.
Wenn noch Fragen sind: einfach stellen :-)
-
-
22.12.2007, 12:25 #2caracol
AW: Biete: Backup-Batch für die SD-Karte
Hi northman,
Ich hoffe der ein oder andere findet das Ganze nützlich :-))
-
22.12.2007, 12:38 #3Northman
-
22.12.2007, 14:47 #4Fat D
AW: Biete: Backup-Batch für die SD-Karte
nein, mein Problem ist nicht das fehlen einer GUI, sondern dass mir die altmodische Methode reicht
-
23.12.2007, 17:51 #5Northman
AW: Biete: Backup-Batch für die SD-Karte
Ich habe noch nicht sehr viele Postings hier gelesen, aber das was ich gelesen habe, läßt auf ein sehr junges Durchschnittsalter schließen. Bei den Themen Wii und DS aber auch nicht wirklich verwunderlich ;-)
Deswegen denke ich, daß es für die meisten wirklich zu schwer ist, meiner Anleitung zu folgen, da sie noch nicht genügend Erfahrung mit Computern haben.
Und einige andere sind nicht so vorsichtig wie ich und begnügen sich mit einer simplen Kopie, anstelle eines mehrstufigen Backups.
Ich war schon immer einer, der mehrere Versionsstände gespeichert hat. Schon vor über 20 Jahren, habe ich meine eigenen Programme auf dem C64 immer unter neuen Namen gespeichert und keine vorhergehenden Versionen gelöscht ;-)
-
24.04.2011, 08:53 #6Unregistriert
AW: Biete: Backup-Batch für die SD-Karte
Hallo,
ich danke Dir auch sehr, ich bastele schon länger an einer Batch, die genau diese Aufgabe erfüllen sollte
frunsel
Ähnliche Themen
-
Elektronik Biete: iTunes 25€ Karte
Biete: iTunes 25€ Karte: Verkaufen würd ich hier gleich den Code für 25€ Guthaben im iTunes store (Musik, Apps, Filme, etc.) der Code wird gleich nach Geldeingang per PN... -
Batch Menü: Ja, ich weiss dass man bei Google unzählige Leute findet, die das Problem auch haben. Nur kapier ich das mit dem set /p und dem errorlevel zeug... -
TV-Karte oder Capture-Karte: Hallo Leute, ich möchte Spiele streamen die ich auf der Konsole zocke(Wird ein größeres Projekt). Nun stellt sich die Frage, TV-Karte oder... -
Sim-Karte/PrePaid- Karte online bestellen?: Hi, Kann man eine NEUE Sim-Karte oder PrePaid-Karte (Mit neuer Rufnummer) online Bestellen? Wenn ja wo? Mein Handy Modell: "Sony Ericsson... -
EZ 3 in 1 Karte ist da, jedoch lässt sich Opera Browser nicht mit der Karte öffnen: Hallo, grade ist meine EZ 3 in 1 Kombo Karte gekommen, doch mit dieser Karte kann ich meinen DS Browser nicht öffnen, es kommt immer die Meldung...
Für Hellbrixx sind's nur noch zehn Jahre bis zur Rente. So alt ist das Spielerboard schon
Spielerboard