Primaerplan 0 Geschrieben 5. März 2017 Melden Teilen Geschrieben 5. März 2017 Hallo Scriptingexperten, Ich möchte ein größeres Verzeichnis mit einer wechselnden Anzahl von Unterverzeichnissen auf mehrere Festplatten sichern. Da das gesamte Verzeichnis nicht auf eine HD passt, teile ich es auf mehrere HD auf. Zu diesem Zweck kopiere ich momentan mittels Robocopy die einzelnen Unterverzeichnisse per Batch. z.B.: robocopy /m /purge "\\Freigabe\A-Verzeichnis .\Sicherung\ robocopy /m /purge "\\Freigabe\B-Verzeichnis .\Sicherung\ robocopy /m /purge "\\Freigabe\C-Verzeichnis .\Sicherung\ ... Dieser Batch liegt angepasst im Wurzelverzeichnis einer jeden Sicherungsfestplatte und wird von dort gestartet. Leider ist er mir zu unflexibel, da die Unterverzeichnisse sich ständig ändern. Ich suche also eine Möglichkeit, Robocopy z.B. die Unterverzeichnisse von A* bis E* zu sichern, die direkt im Haupt-Verzeichnis \\Freigabe ebenfalls befindlichen Dateien aber auszuschließen. Bei den Robocopy-Optionen finde ich aber keine Möglichkeit _Verzeichnisse_ per Wildcard zu definieren. Ich hoffe, mein Anliegen ist klar und es gibt hierzu eine Lösung. Vielen Dank für Eure Bemühungen. Gruß, Primärplan Zitieren Link zu diesem Kommentar
testperson 1.677 Geschrieben 5. März 2017 Melden Teilen Geschrieben 5. März 2017 Hi, warum nicht einfach Backup-Medien in passender Größe verwenden? Um was für / wie viele Daten geht es denn? Ist das dein einziges Backup oder ein "zusätzliches"? Gruß Jan 1 Zitieren Link zu diesem Kommentar
Primaerplan 0 Geschrieben 5. März 2017 Autor Melden Teilen Geschrieben 5. März 2017 (bearbeitet) Hi, warum nicht einfach Backup-Medien in passender Größe verwenden? Um was für / wie viele Daten geht es denn? Ist das dein einziges Backup oder ein "zusätzliches"? Gruß Jan Hallo Jan, zu 1: weil es so große Festplatten nicht gibt. :-) Ich möchte hier keine Diskussion über das für und wieder verschiedener Backup-Stategien machen: für meinen Zweck ist die Sicherung per Robocopy passend und ausreichend. Ich suche lediglich eine Möglichkeit, Verzeichnisse per Batch mittel Robocopy & Wildcards zu sichern. Robocopy verwende ich, da es vorhanden ist, batchfähig ist und vorhandene Dateien überspringt. zu 2: Es handelt sich um ein Verzeichnis von ca. 50TB welches auf mehrere externe Festplatten kopiert werden muss. Jede Festplatte erhält einen definierten Bereich; z.B. A*-E*; F*-H*; ... Das Problem hierbei ist, dass ständig neue Verzeichnisse hinzukommen, was die Pflege des Batches aufwendig macht. Gruß, Primärplan bearbeitet 5. März 2017 von Primaerplan Zitieren Link zu diesem Kommentar
BOfH_666 577 Geschrieben 5. März 2017 Melden Teilen Geschrieben 5. März 2017 So kannst Du mit Powershell die Anfangsbuchstaben der Unterverzeichnisse des von Dir anzugebenden Verzeichnisses ermitteln ... und dann weiterbenutzen, wie Du möchtest ... Get-ChildItem -Directory -Path 'Dein Startverzeichnis' | Select-Object -Property Name,@{Name='Initial';Expression={$_.Name.Substring(0,1).ToLower()}} Zitieren Link zu diesem Kommentar
Sanches 22 Geschrieben 5. März 2017 Melden Teilen Geschrieben 5. März 2017 Hi, zum Fall zunächst selbst: Versuchs doch mal mit jew. Exclusions. D.h. du willst A-E sichern, dann excludiere einfach die restlichen Verzeichnisse: robocopy ... /XD f* g* h* i* j* k* l* ... Prinzipiell sehe ich es aber wie Jan. Auch wenn du es nicht hören möchtest, wäre es evtl. mal eine Überlegung, die Strategie so zumindest zu überdenken. Was machst du denn, wenn in deinem Bereich (z.B. A-E) plötzlich solch ein Zuwachs an Daten herscht, das diese nicht mehr, trotz Aufteilung, dann auf dein Medium passt. Dann musst du wieder eingreifen und neu verteilen. Gruß Sebastian Zitieren Link zu diesem Kommentar
lefg 276 Geschrieben 5. März 2017 Melden Teilen Geschrieben 5. März 2017 Moin, etwas abseits der eigentlichen Fragestellung: Warum wird als Quelle die Freigabe adressiert? Ich halte das für keine gute Praxis, das OS greift so über das Netzwerk auf den eigenen Rechner zu. Weiter meine ich, für das Kopieren der Unterverzeichnisse fehlt die Option /S Siehe mal robocopy /? Zitieren Link zu diesem Kommentar
Primaerplan 0 Geschrieben 5. März 2017 Autor Melden Teilen Geschrieben 5. März 2017 (bearbeitet) @BOfH_666: interessanter Ansatz, aber ich denke Sebastians Ansatz könnte etwas direkter sein. @Sebastian: guter Ansatz über den Ausschluss zu gehen; wär ich nicht drauf gekommen :-) Die Speicherkapazität ist kein Problem, ist großzügig bemessen. Eine mögliche Umverteilung ist aber ggf. kein Problem. Außerdem muss die Lösung "narrensicher" sein; USB-Festplatte anschließen, Batch starten, fertig :-) @lefg: Die Freigabe ist notwendig, da der Server nicht der lokalen Rechner ist. /S ist bekannt aber nicht notwendig, da in dem zu sichernden Unterverzeichnis keine tieferen Ebenen sind. Danke für Eure Unterstützung bearbeitet 5. März 2017 von Primaerplan Zitieren Link zu diesem Kommentar
testperson 1.677 Geschrieben 6. März 2017 Melden Teilen Geschrieben 6. März 2017 Außerdem muss die Lösung "narrensicher" sein; USB-Festplatte anschließen, Batch starten, fertig :-) Wie "narrensicher" ist denn der Restore? Im Worst-Case mal eben 50TB von x USB Platten auf einen neu zu installierenden und einzurichtenden Server kopieren.. Ist das ganze privat? Beruflich (für einen Kunden)? Zitieren Link zu diesem Kommentar
Primaerplan 0 Geschrieben 6. März 2017 Autor Melden Teilen Geschrieben 6. März 2017 (bearbeitet) OK, es artet in eine Grundsatzdiskussion aus :-) Also mal zur Klarstellung: Die 50TB sollen nicht gebackupt werden (werden sie anderweitig), sondern müssen zwecks Weiterverarbeitung 2-3x Jährlich auf externe Festplatten mit definierten Bereichen kopiert werden. Hierbei muss die normale Ordner-/Dateistruktur erhalten bleiben. Da ca. 80% gleich bleibt, und robocopy sowohl die in \\Freigabe nicht mehr vorhandene Daten in der Sicherung entfernt als auch identische Dateien überspringt ist das Ganze recht effizient. Mein Robocopy-Batch macht seinen Job ganz hervorragend, ist mir halt nur zu unflexibel. (Mir ist in der Vergangenheit schon passiert, dass ich das eine oder andere neue Verzeichnis übersehen habe) @Sebastian: Dein Ausschlussverfahren funktioniert, hat aber noch einen Nachteil. Wenn ich mit: > robocopy /m /purge /s \\Freigabe .\Sicherung /XD F* [...] Y* Z* arbeite, werden auch die Dateien die sich im \\Freigabe-Wurzelverzeichnis befinden mitkopiert; gewünscht wäre hier lediglich alle in \Freigabe befindlichen _Verzeichnisse_, die mit A-E beginnen. Wenn es jetzt noch einen Weg gäbe die Dateien auszuschließen, wäre es perfekt. Gruß, Primärplan bearbeitet 6. März 2017 von Primaerplan Zitieren Link zu diesem Kommentar
Sanches 22 Geschrieben 6. März 2017 Melden Teilen Geschrieben 6. März 2017 Hi, mittels /XF * oder /XF *.mp3 kannst du Dateien entsp. ausschließen. Siehe auch robocopy /? Gruß Sebastian Zitieren Link zu diesem Kommentar
Esta 114 Geschrieben 6. März 2017 Melden Teilen Geschrieben 6. März 2017 Hi, und wenn du mit Variablen und einer For-Schleife arbeitest? Zitieren Link zu diesem Kommentar
Primaerplan 0 Geschrieben 6. März 2017 Autor Melden Teilen Geschrieben 6. März 2017 (bearbeitet) @Sebastian: Damit schließe ich aber doch auch alle gematchten Dateien innerhalb der Unterverzeichnisse mit aus; ich möchte aber nur die Dateien, welche sich im Hauptverzeichnis befinden nicht mitsichern. @Esta Würde ich gerne machen, nur bin ich leider kein Batch-Spezialist. Ich batche nur minimalst & rudimentär für den Hausgebrauch, deshalb ja auch meine Anfrage hier. (rotwerd) Ich habe noch nicht mal ansatzweise verstanden, was BOfH_666 oben mit seinem Codeschnipsel genau bewirkt :-) Gruß, Primärplan bearbeitet 6. März 2017 von Primaerplan Zitieren Link zu diesem Kommentar
BOfH_666 577 Geschrieben 7. März 2017 Melden Teilen Geschrieben 7. März 2017 (rotwerd) Ich habe noch nicht mal ansatzweise verstanden, was BOfH_666 oben mit seinem Codeschnipsel genau bewirkt :-) ... Probieren geht über Studieren. Versuch's einfach mal - es geht bestimmt nix kaputt. ;) :cool: :thumb1: :jau: Zitieren Link zu diesem Kommentar
Sanches 22 Geschrieben 7. März 2017 Melden Teilen Geschrieben 7. März 2017 (bearbeitet) Sollte der Ansatz von BOfH_666 nicht klappen, würde ich die Dateifilterung ganz weglassen und (wie bereits von Esta geschrieben) einfach pro Bereich eine FOR-Schleife direkt für die jew. Verzeichnisse laufen lassen. Innerhalb der FOR-Schleife kannst du ja dann mittels robocopy deine Daten kopieren. Nur mal als Ansatz ein Beispiel: FOR /D %%i in (A* B*) DO ( echo kopiere Verzeichnis %%i robocopy ... ) Parameter und Beispiele für die FOR-Schleife solltest du im Internet genügend finden. Gruß Sebastian bearbeitet 7. März 2017 von Sanches Zitieren Link zu diesem Kommentar
Esta 114 Geschrieben 7. März 2017 Melden Teilen Geschrieben 7. März 2017 (rotwerd) Ich habe noch nicht mal ansatzweise verstanden, was BOfH_666 oben mit seinem Codeschnipsel genau bewirkt :-) na dann hau rein und lerne die Grundlagen. Zitieren Link zu diesem Kommentar
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.