Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Nur neue Dateien in Ordner hinzufügen

Frage Entwicklung Batch & Shell

Mitglied: Exzel

Exzel (Level 2) - Jetzt verbinden

07.08.2008, aktualisiert 08.08.2008, 5595 Aufrufe, 8 Kommentare

Hallo zusammen,

mit diesem Sicherungsscript werden Dateien in einem Ordner gesichert, der im Format JJJJ-MM-TT (z.B. 2008-07-18) erstellt wird. Die Sache ist nur die, dass jeden Tag der komplette Datensatz gesichert, was sehr viel Speicher kostet. Genügt es /d bei Xcopy anzufügen, damit nur die Dateien, die neu hinzukommen gesichert werden?

Gelöschte Dateien sollen in der Sicherung aber erhalten bleiben.


@echo off
set xlog=c:\ergebnis.txt
set "date=%date:~-4%-%date:~-7,2%-%date:~-10,2%"
@echo ---------------- Beginn copy %date% %time% -------------- > %xlog%
xcopy d:\*.* z:\%date%\ /e /h /V >> %xlog%
@echo ---------------- Ende copy %date% %time% -------------- >> %xlog%


Im Laufwerk d: befinden sich die zu sicherenden Ordner, die wiederum Unterordner enthalten.


Gruß
Mitglied: Jochem
07.08.2008 um 11:34 Uhr
Moin,
nur /d alleine reicht nicht, Du mußt dann auch das entsprechende Datum vorgeben.

Gruß J chem
Bitte warten ..
Mitglied: harald21
07.08.2008 um 11:34 Uhr
Hallo,

teste doch mal robocopy.

mfg
Harald
Bitte warten ..
Mitglied: bastla
07.08.2008 um 11:44 Uhr
@Jochem

Korrektur: "xcopy /d" genügt, um nur neuere Dateien zu kopieren (siehe "xcopy /?").

Grüße
bastla
Bitte warten ..
Mitglied: Jochem
07.08.2008 um 11:56 Uhr
@bastla,
würdest Du nach erneutem Lesen der Hilfe zu xcopy und Betrachtung des Scripst oben evtl. die Aussage nochmal überdenken?

Gruß J chem

PS: Ich hatte den Einwand erwartet
Bitte warten ..
Mitglied: bastla
07.08.2008 um 12:14 Uhr
@Jochem

Stimmt - hinsichtlich der konkreten Anwendung in Exzels Batch genügt "/d" nicht (allerdings wird die/der in der "xcopy"-Hilfe gar nicht erwähnt, also wozu hätte ich diese nochmals lesen sollen? ).

BTW: Ich war an "Gelöschte Dateien sollen in der Sicherung aber erhalten bleiben." hängen geblieben und hatte daher leider nicht darauf geachtet, dass in unterschiedliche Zielordner gesichert werden soll.

Grüße
bastla
Bitte warten ..
Mitglied: Exzel
07.08.2008 um 17:59 Uhr
Hallo und danke für die Antworten,

genügt nun /d nicht weil ich in unterschiedliche Ordner sichere oder hat es einen anderen Grund.

Die Sicherung würde sich auch umstellen lassen, sodass ich künftig alles in einem Ordner (mit den jeweiligen Unterordnern) sichern würde, wenn /d dann genügt.


Gruß
Bitte warten ..
Mitglied: bastla
07.08.2008 um 18:58 Uhr
Hallo Exzel!

Die Option "/d" ohne Angabe eines Datums vergleicht vor dem Kopieren das Dateidatum (Änderungsdatum) der zu kopierenden Datei mit einer gleichnamigen Datei im Zielordner, und kopiert nur, wenn die Datei im Zielordner älter ist - oder aber es diese Datei noch gar nicht gibt.

Wenn Du für jede Sicherung einen neuen (Datums-) Ordner erstellst, wird natürlich immer alles kopiert, da es ja keine Vergleichsmöglichkeit gibt (der Zielordner ist leer).
Es kommt jetzt auf Deine Zielsetzung an, welche der folgenden Möglichkeiten Du wählst:

  • Wenn Du verschiedene Versionen einer Datei aufbewahren willst, ist die Verwendung der mit Datum bezeichneten Ordner sinnvoll (so hättst Du etwa von einer am Mo, Di und Do bearbeiteten Excel-Datei jeweils eine Sicherung, was natürlich einen höheren Platzbedarf für Sicherungsdateien nach sich zieht). Um diese Art der Sicherung mit "xcopy" durchzuführen, böte sich der Schalter "/m" an - damit werden alle seit der letzten Sicherung veränderten Dateien kopiert und diese Tatsache vermerkt (indem für die Datei das "Archiv-Attribut" gelöscht wird), sodass die Datei erst wieder gesichert wird, wenn sie zwischenzeitlich verändert (oder zumindest neu gespeichert) wurde.

  • Eine datumsabhängige Sicherung in unterschiedliche Ordner würde, worauf Jochem bereits hingewiesen hat, voraussetzen, dass Du das Datum, ab welchem Dateien erfasst werden sollen, angibst - Du müsstest also das letzte Sicherungsdatum zB aus dem neuesten Sicherungsordner auslesen, einen Tag addieren (in Batch eher mühsam) und mit dem Schalter "/d" und Angabe des neuen Datums kopieren.

  • Genügt es Dir, nur die (eine) jeweils aktuelle Version einer Datei gesichert zu haben, kannst Du als Ziel immer den selben Ordner angeben und sowohl die Variante "/d" ohne Datumsangabe (damit, wie oben beschrieben, nur zusätzliche und, im Vergleich zu den bereits gesicherten, neuere Dateien kopiert werden) als auch "/m" (alle seit der letzten Sicherung veränderten - umfasst natürlich auch neu hinzugekommene Dateien) verwenden.

In allen genannten Versionen bleiben die Sicherungen von im Arbeitsbereich (Laufwerk D: ) gelöschten Dateien erhalten, es erfolgt also keine Synchronisation.

Grüße
bastla
Bitte warten ..
Mitglied: Exzel
08.08.2008 um 16:52 Uhr
Hallo und danke für die Antworten,

mir würde ein großer Ordner genügen, in dem alle Dateien aufbewahrt werden. Es handelt sich größtenteils um Dokumente, die im PDF-Format aufbewahrt werden, also sich eh nicht mehr ändern. Die anderen sind Word-Dateien, die in der Regel aber auch nicht mehr geändert werden.


Dann werde ich das Script wie folgt umschreiben.

@echo off
set xlog=c:\ergebnis.txt
@echo ---------------- Beginn copy %time% -------------- > %xlog%
xcopy d:\*.* z:\Sicherung\ /m /e /h /V >> %xlog%
@echo ---------------- Ende copy %time% -------------- >> %xlog%



Nochmals vielen Dank!

Gruß
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
gelöst Ordnerabfrage ob neue Dateien vorhanden (1)

Frage von Bigibob zum Thema Batch & Shell ...

Microsoft
Im ordner nach dateien aus excel liste suchen (2)

Frage von tioloco zum Thema Microsoft ...

Batch & Shell
Automatisch dateien die sich in einem Ordner befinden, zippen (6)

Frage von cdm1970 zum Thema Batch & Shell ...

Neue Wissensbeiträge
Sicherheits-Tools

Sicherheitstest von Passwörtern für ganze DB-Tabellen

(1)

Tipp von gdconsult zum Thema Sicherheits-Tools ...

Peripheriegeräte

Was beachten bei der Wahl einer USV Anlage im Serverschrank

(8)

Tipp von zetboxit zum Thema Peripheriegeräte ...

Windows 10

Das Windows 10 Creators Update ist auf dem Weg

(6)

Anleitung von BassFishFox zum Thema Windows 10 ...

Heiß diskutierte Inhalte