Facebook Twitter Flickr YouTube E-mail RSS
Home #Featured Backup-Batches selbstgemacht (Windows)
formats

Backup-Batches selbstgemacht (Windows)

Ausgestellt am 4. März 2012 vom in #Featured, Tutorials

Ihr kennt das sicher: Ihr habt wichtige Daten und möchtet davon gerne ab und zu Backups auf einer anderen HD oder in einem anderen Verzeichnis machen. Natürlich will man dazu nicht jedesmal eine copy & paste orgie starten und dazu noch dauernd gefragt werden, ob man denn auch wirklich wirklich sicher ist….blablabla.

Glücklicherweise bringt die Windows Befehlszeile den (irgendwie nicht sehr gut dokumentierten) XCOPY-Befehl mit, mit dem wir uns nun unser kleines Backupprogi selberbasteln können.

Mein Beispiel:
ich möchte gerne eine Batch haben, die mir alle Dateien aus C:\Filez nach D:\BackupFilez kopiert, ohne lange nachzufragen und ohne die dort schon gesspeicherten Dateien nochmals zu kopieren. Natürlich sollen aber Dateien, die inzwischen verändert wurden, in meinem Backup-Ordner ebenfalls aktualisiert werden. Zudem soll die Verzeichnisstruktur übernommen werden.
Und das geht mit XCOPY überraschend einfach:

1. neuen txt-Datei erstellen
2. in diese datei schreibe ich folgende Zeile:

xcopy C:\Filez\*.* D:\BackupFilez /m /s /y

3. speichern, txt-Datei in IrgendEinName.bat oder IrgendEinName.cmd umbenennen. Fertig!

der erste Teil des Befehls (xcopy C:\Filez\*.* D:\BackupFilez) sollte klar sein: alles von da nach dort, genau wie mit dem normalen copy-befehl. Die Parameter machen dat ganze aber etwas cleverer:
/m : Dieser parameter weist XCOPY an, bei jeder Originaldatei, die es grade kopiert hat, das „Archiv-Attribut“ zu setzen und nur die Dateien zu kopieren, die kein solches Attribut haben. Wird nun eine Originaldatei verändert, verfällt dieses Attribut automatisch und die Datei wird beim nächsten Ausführen unserer Batch wieder gebackuppt. Somit werden nur Dateien kopiert, die wir SO noch nicht schon mal kopiert haben.
/s : Dieser Parameter weist XCOPY an, auch alle Unterordner in unserem Verzeichnis C:\Filez und alle sich darin befindenden Dateien mit einzubeziehen. Ausnahme: ist ein Ordner leer, wird dieser Ordner im Backupverzeichnis auch nicht erstellt.
/y heisst: „Maul halten, ich weiss schon was ich tue“ ….Ihr werdet so einfach nicht mehr gefragt, ob ihr denn auch gaaanz gaaanz sicher eine Datei überschreiben wollt (wenn z.B. eine Originaldetei verändert wurde und jetzt nochmal gebackuppt werden muss)

Natürlich könnt ihr so viele XCOPY’s in eine Batch packen, wie ihr wollt…. einfach neue Zeile, neuer Befehl.

Hier noch alle offiziellen XCOPY Parameter-Beschreibungen:

/w
Displays the following message and waits for your response before starting to copy files:
Press any key to begin copying file(s)

/p
Prompts you to confirm whether you want to create each destination file.
/c
Ignores errors.
/v
Verifies each file as it is written to the destination file to make sure that the destination files are identical to the source files.
/q
Suppresses the display of xcopy messages.
/f
Displays source and destination file names while copying.
/l
Displays a list of files that are to be copied.
/g
Creates decrypted destination files.
/d[:mm-dd-yyyy]
Copies source files changed on or after the specified date only. If you do not include a mm-dd-yyyy value, xcopy copies all Source files that are newer than existing Destination files. This command-line option allows you to update files that have changed.
/u
Copies files from Source that exist on Destination only.
/i
If Source is a directory or contains wildcards and Destination does not exist, xcopy assumes destination specifies a directory name and creates a new directory. Then, xcopy copies all specified files into the new directory. By default, xcopy prompts you to specify whether Destination is a file or a directory.
/s
Copies directories and subdirectories, unless they are empty. If you omit /s, xcopy works within a single directory.
/e
Copies all subdirectories, even if they are empty. Use /e with the /s and /t command-line options.
/t
Copies the subdirectory structure (that is, the tree) only, not files. To copy empty directories, you must include the /e command-line option.
/k
Copies files and retains the read-only attribute on destination files if present on the source files. By default, xcopy removes the read-only attribute.
/r
Copies read-only files.
/h
Copies files with hidden and system file attributes. By default, xcopy does not copy hidden or system files.
/a
Copies only source files that have their archive file attributes set. /a does not modify the archive file attribute of the source file. For information about how to set the archive file attribute by using attrib, see Related Topics.
/m
Copies source files that have their archive file attributes set. Unlike /a, /m turns off archive file attributes in the files that are specified in the source. For information about how to set the archive file attribute by using attrib, see Related Topics.
/n
Creates copies by using the NTFS short file or directory names. /n is required when you copy files or directories from an NTFS volume to a FAT volume or when the FAT file system naming convention (that is, 8.3 characters) is required on the destination file system. The destination file system can be FAT or NTFS.
/o
Copies file ownership and discretionary access control list (DACL) information.
/x
Copies file audit settings and system access control list (SACL) information (implies /o).
/exclude:filename1[+[filename2]][+[filename3]]
Specifies a list of files containing strings.
/y
Suppresses prompting to confirm that you want to overwrite an existing destination file.
/-y
Prompts to confirm that you want to overwrite an existing destination file.
/z
Copies over a network in restartable mode.
/?

 
No Comments  comments