borgadmin
Goto Top

Robocopy Backup

Hallo zusammen, ich hoffe hier Hilfe zu finden, da ich noch keinerlei Erfahrung mit dem Robocopy habe. Als erstes eine kleine BEschreibung meines Vorhabens:

Ich möchte ein Verzeichnis auf einem Server mittels Robocopy auf eine externe Festplatte sichern. Danach soll der Inhalt des Verzeichnisses auf dem Server gelöscht werden. Robocopy soll nun täglich prüfen ob neue Daten in dem Verzeichnis abgelegt wurden und diese ggf. auf die externe Festplatte hinzuschreiben. (Danach das Serververzeichnis wieder leeren usw...)

Ist dies mit Robocopy überhaupt möglich? Wenn ja, wie funktioniert das? Welche Parameter muss ich dem Aufruf wie und wo mitgeben?
Die Batch Datei würde ich dann unter geplante Tasks einbinden....

Für Eure Hilfe wäre ich sehr dankbar!

viele Grüße

maxi

Content-Key: 47299

Url: https://administrator.de/contentid/47299

Printed on: April 23, 2024 at 15:04 o'clock

Member: Biber
Biber Dec 22, 2006 at 10:40:32 (UTC)
Goto Top
Moin borgadmin,

willkommen im Forum.
Deinen Beitrag verstehe ich nicht.
Was Du beschreibst, ist keine Sicherung. Sondern ein simples Abholen/Verschieben aller Daten. Dazu brauchst Du kein Robocoby.
Und wenn es auch nur ein Unterzeichnis ist (also ohne Unterverzeichnisstruktur), dann würde dieses ausreichen:
Move /Y \\vomServer\wasZusSichernIs\*.* \\auffenAndernServer\Sicherung\*.*

Bitte um Erläuterung Deines "Sicherungs-"Konzepts.
für mich ist eine Sicherung, wenn ich Daten vorher einmal und hinterher zweimal habe.

Gruß
Biber
Member: borgadmin
borgadmin Dec 22, 2006 at 10:54:51 (UTC)
Goto Top
Hallo Biber,

vielen Dank für die prompte Antwort. Das zu sichernde Verzeichnis weisst allerdings eine Verzeichnisstruktur auf. Der Begriff Sicherung oder Backup ist in der Tat etwas falsch gewählt, da gebe ich dir Recht face-wink

Der Sinn bzw Zweck der dahinter steht ist folgender: Der Festplattenspeicher des Servers ist begrenzt. Die Daten die ich auf die externe Festplatte kopieren / verschieben möchte sind bereits Backupfiles. Diese belegen allerdings unnötig den Speicher des Servers. Jedes mal die Dateien manuel zu verschieben ist nervig und zeitraubend. Daher suche ich eine möglichkeit dies zu automatisieren. Weitere Ideen / Vorschläge?
Member: Biber
Biber Dec 22, 2006 at 11:13:36 (UTC)
Goto Top
Moin borgadmin,

dann rufe doch den Robocopy mit Parameter /MOVE auf

Aus der Robocopy-Hilfe:
>robocopy /?

-------------------------------------------------------------------------------
   ROBOCOPY     ::     Robust File Copy for Windows     ::     Version XP010
-------------------------------------------------------------------------------

              Usage :: ROBOCOPY source destination [file [file]...] [options]

             source :: Source Directory (drive:\path or \\server\share\path).
        destination :: Destination Dir  (drive:\path or \\server\share\path).
               file :: File(s) to copy  (names/wildcards: default is "*.*").  

::
:: Copy options :
::
                 /S :: copy Subdirectories, but not empty ones.
                 /E :: copy subdirectories, including Empty ones.
             /LEV:n :: only copy the top n LEVels of the source directory tree.

                 /Z :: copy files in restartable mode.
                 /B :: copy files in Backup mode.
                /ZB :: use restartable mode; if access denied use Backup mode.

  /COPY:copyflag[s] :: what to COPY (default is /COPY:DAT).
                       (copyflags : D=Data, A=Attributes, T=Timestamps).
                       (S=Security=NTFS ACLs, O=Owner info, U=aUditing info).
......
               /MOV :: MOVe files (delete from source after copying).
<b>              /MOVE :: MOVE files AND dirs (delete from source after copying).</b>
.....

Grüße
Biber
Member: borgadmin
borgadmin Dec 22, 2006 at 12:33:53 (UTC)
Goto Top
Danke Biber,

ich habe jetzt folgendes gemacht und es scheint auch zu funktionieren:

Backup.bat

xcopy /k /r /e /i /s /c /h /o /x /y /d "c:\quelle\*.*" "c:\backup\*.*"
rd /S /Q c:\quelle
mkdir c:\quelle


Quell und Zielordner pass ich dann natürlich noch entsprechend an, wollte das nur vorher testen.
Habe ich etwas wichtiges übersehen, oder müsste ich damit mein Vorhaben realiieseren können?
Member: Biber
Biber Dec 22, 2006 at 14:00:59 (UTC)
Goto Top
Hm... übersehen..?

Kommt auf die Strategie an.

- mit XCopy-Parameter /e werden auch leere Verzeichnisse kopiert. Wenn's Sinn macht...
- mit XCopy-Parameter /D werden nur "neuere" Dateien kopiert.
Das heißt unter Umständen, dass Dateien vom Quell-Verzeichnis nicht kopiert, aber gelöscht werden. Wenn auch das so im Sinne des Erfinders ist...
- wenn Du zwischendurch das Quellverzeichnis "c:\Quelle" weglöscht,
a) dann kann für einen kleinen Moment zumindest kein anderer darauf diese Daten schieben
b) wenn das Verzeichnis "c:\Quelle" geshared war, dann würde ich zumindest überprüfen, ob der Share danach noch funktioniert (inklusive der vergebenen Rechte)

ich würde eher so vorgehen:

xcopy <i>parameter</i> "c:\quelle\*.*" "c:\backup\*.*"  
for /d  %i in (c:\quelle\*.*) do rd /s /q %%~dpnxi
del /q c:\quelle\*.*

Grüße
Biber
Member: borgadmin
borgadmin Dec 22, 2006 at 14:18:48 (UTC)
Goto Top
Mir ist inzwischen ein weiteres Problem aufgefallen. Bei den zu kopierenden Dateien sind manche über 1 Gigabyte groß. Was passiert wenn während dem kopiervorgang das bacthfile abgebrochen wird? In meinem Test finde ich die Datei dann weder im Quell noch im Backupverzeichnis. Das ist natürlich unerwünscht. Jemand eine Idee wie ich dieses Problem lösen könnte?
Member: Biber
Biber Dec 22, 2006 at 14:49:38 (UTC)
Goto Top
Dann nimm doch statt XCopy den Robocopy mit Schalter /MOVE.
Wie ursprünglich geplant.

Robocopy wird ja so schlau sein, dass er/sie/es die Quelldatei nicht löscht, wenn sie nicht ins Zielverzeichnis geMOVEd werden konnte.
Ist doch von M$, das Tool...

Gruß
Biber