37414
Goto Top

Alle Daten weg durch Robocopy Befehl?

BITTE UM SCHNELLE HILFE.


Gestern habe ich Daten vom Laufwerk "D" nach "G" verschoben, die dort noch nicht vorhanden sind.

Dazu wurde eine Batch-Datei angelegt und ausgeführt.
Die Batch-Datei lief über einen Robocopy-Befehl.

Kann es sein, dass diese Batchdatei bewirkt hat, dass Daten, die vorher auf dem Laufwerk "G" waren, nun gelöscht sind?
Ich kann jedenfalls nicht erkennen, dass in dem Befehl stand, dass die Daten, die auf "D" nicht mehr sind, auch auf "G" gelöscht werden sollen.

In jedem Fall sind heute Morgen eine Menge Daten weg!!!

Hier der Inhalt der Batch-Datei:

robocopy d:\daten g:\daten /e /r:0 /log:d:\admin\robo-sicherung.log /ndl /nfl


Bitte um schnellstmögliche Hilfe - hier steht alles still!!

Danke und Gruss,
imebro

Content-Key: 161068

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

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

Member: maretz
maretz Feb 18, 2011 at 09:48:11 (UTC)
Goto Top
Moin,

warum guckst du nicht einfach was die Parameter bewirken? Ist aber faszinierend: /log - und gleichzeitig /ndl bzw. /nfl (no dir logging / no file logging...)

ansonsten sieht das aber nicht so aus als wenn der dafür verantwortlich wäre - weil du nirgends was angibst das er source-files löschen soll...

also nimm das backup was du vorher gemacht hast und spiele das eben zurück ....
Mitglied: 37414
37414 Feb 18, 2011 at 10:00:17 (UTC)
Goto Top
Danke...

In jedem Fall wurden aber definitiv neuere Daten auf dem Laufwerk "G" durch ältere vom Laufwerk "D" überschrieben.
Und es fehlen auch Daten, die am gestrigen Tag auf Laufwerk "G" erstellt wurden.... die müssen also gelöscht worden sein.

Gruss
imebro
Member: maretz
maretz Feb 18, 2011 at 10:05:28 (UTC)
Goto Top
Moin,

du sagst doch mit dem Befehl das er von Laufwerk D auf Laufwerk G kopieren soll. Also macht der das auch. Du gibst keinen Parameter an bei dem er das Datum überprüfen soll -> und somit haut die Quelle einfach alles übers Ziel rüber.

Klar das dann die Daten von LW G überschrieben werden....

Und Robocopy haut auch ggf. Daten weg die im Quellverzeichnis nicht vorhanden sind - dies siehst du dann auf der Konsole mit "*Extra Datei*" oder so....

Also hat der Befehl genau das gemacht was du gesagt hast... Wenn du natürlich neuere Dateien auf LW G hattest - sorry, aber dann hast du im Backup gearbeitet und das gehört sich ja auch nicht....
Member: fireblade09
fireblade09 Feb 18, 2011 at 10:19:31 (UTC)
Goto Top
Ja dsa ist der Standardmodus. Da kopiert Robocopy Lfw D auf Lfw G. Wenn was auf Laufwerk G ist, dann wird es einfach überschrieben oder gelöscht. Gibt dann Schalter, der ältere Dateien ausschliesst. /XO ist das glaub ich.
Member: pieh-ejdsch
pieh-ejdsch Feb 18, 2011 at 10:38:22 (UTC)
Goto Top
moin imebro,

Um noch etwas zu Retten: nimm einen File-Recovery (PC-Inscpector File Recovery, etc.) und lass den im Backuplaufwerk suchen. Das ganze sicherst Du auf eine andere/seperate Partition.

Gruß Phil
Member: Skyemugen
Skyemugen Feb 18, 2011 at 10:53:01 (UTC)
Goto Top
Aloha,

das mit den „gelöschten Daten“ ist vllt. so eine Sache, die nur scheinbar ist. Ich hatte hier schon den witzigen Fall, dass robocopy im log erzählt, Fehler bei den Daten XYZ und die schienen auch erstmal gelöscht aber nein, siehe da, die waren zwar vorhanden aber in einem völlig falschen Ordner (ich frage mich bis heute, wie RC das hinbekommen hat) Ordner 7 und alle Unterordner wurden in Ordner 8 kopiert aber der Rest wurde von Ordner N nach Ordner N' korrekt kopiert

Um auszuschließen, ob wirklich was gelöscht wurde, würde ich vorher erstmal nach einer Datei suchen, die existieren sollte ... man muss natürlich wissen, wonach man sucht ... eventuell liegt die plötzlich ganz woanders ^.^

greetz André
Mitglied: 37414
37414 Feb 18, 2011 at 14:13:15 (UTC)
Goto Top
Hallo und danke für Eure Tipps.

Ich denke, dass der Schalter "/XO" (exclude older files) richtig gewesen wäre, wie "fireblade09" schreibt.

Mit File-Rocovery etc. kann ich sicher nichts mehr retten, da sich die Daten auf einem Server befinden... außerdem wurde ja nach dem Kopiervorgang wieder gearbeitet und ein Rückkopieren würde die neuen Daten dann wieder zerstören face-sad

Die Aufgabe war folgende:
Kopiere vom Laufwerk "D" alle Daten nach Laufwerk "G", die dort noch nicht existieren. Falls die Daten auf Laufwerk "G" jedoch NEUER sind, kopiere die entsprechenden Daten NICHT von Laufwerk "D".  

Wie hätte der entsprechende Befehl lauten müssen?
Und... sollte der 2. Teil des Batch-Befehls weiterhin so aussehen:?
 "log:d:\admin\robo-sicherung.log /ndl /nfl"  


Noch eine Idee:

Ich hatte mir mal eine Batch zusammengestellt (auch mit Hilfe von diesem Forum), mit der ich alle Daten von "gestern" auflisten konnte.
Vielleicht kann mir Jemand dabei helfen, diese Datei so abzuändern, dass ich die Daten von "gestern" nicht nur auflisten, sondern auch in ein vorbestimmtes Verzeichnis KOPIEREN könnte. Dann könnte ich diese Daten einfach in die entspr. Verzeichnisse zurück kopieren.

Hier die Batch:

@echo off & setlocal 

set "Basis=G:\Daten.2011-02-18-ueberschriebene-Version-vom-Vortag\DAS\"  
set "Liste=D:\dir.txt"  

set "G=%temp%\Gestern.vbs"  
>%G% echo WScript.Echo DateAdd("d",-1, Date)  
for /f %%i in ('cscript //nologo %G%') do set "Gestern=%%i"   

set UnsortiertE=%temp%\E.txt
set UnsortiertG=%temp%\G.txt

copy nul %UnsortiertE% >nul 
copy nul %UnsortiertG% >nul
for /r "%Basis%" %%i in (.) do for /f "tokens=1-3*" %%a in ('dir /a-d /tc "%%i" 2^>nul^|findstr /b "%Gestern%"') do call :ProcessLine "%UnsortiertE%" "%%c" "%%a %%b" "%%~fi\%%d"  
for /r "%Basis%" %%i in (.) do for /f "tokens=1-3*" %%a in ('dir /a-d "%%i" 2^>nul^|findstr /b "%Gestern%"') do findstr /c:"%%c;%%a %%b;%%~fi\\%%d" "%UnsortiertE%">nul || call :ProcessLine "%UnsortiertG%" "%%c" "%%a %%b" "%%~fi\%%d"  

>"%Liste%" echo Erstellt am: %Gestern%  
>>"%Liste%" sort %UnsortiertE%  
>>"%Liste%" echo\  
>>"%Liste%" echo Geändert am: %Gestern%  
>>"%Liste%" sort %UnsortiertG%  
"%Liste%"  
goto :eof

:ProcessLine
set "Gr=               %~2"  
set /a MB=%Gr:~-15%/1048576
>>%1 echo %MB%;%~3;%~4
goto :eof

Danke und Gruss
imebro
Mitglied: 37414
37414 Feb 22, 2011 at 12:30:18 (UTC)
Goto Top
Hmmm... hat niemand eine Idee, wie man das Ganze mit kopieren erstellen könnte?

Oder hab ich Euch jetzt mit dieser riesigen Batch leicht überfordert? face-smile

Gruss
imebro
Member: Skyemugen
Skyemugen Feb 22, 2011 at 16:01:57 (UTC)
Goto Top
Aloha,

*gg* wäre deine Frage im Batch & Böses Bereich, wäre der Fall wahrscheinlich längst vom Tisch ^.^

Hier gucken die dafür vorhandenen Koryphäen eher selten rein *g* und ich hatte bisher keine Luft, mal wieder hier nebenbei was zu „fördern“ (Wenn ich es richtig sehe, müssen nur die Dateien aus %Liste% diesbezüglich kopiert werden, ja? Man müsste also nur per „include“ [gab mal ein schönes Beispiel dazu hier im Forum] diese dann kopieren lassen - allerdings per xcopy war das damals, wenn ich mich recht erinnere)

greetz André
Mitglied: 37414
37414 Feb 23, 2011 at 07:56:51 (UTC)
Goto Top
Hallo und danke für Dein Posting.

Vielleicht sollte ich meine Frage und die Batch nochmal im Bereich "Batch...." einstellen?
Oder kann das ein Moderator tun?

Habe jetzt auf Anhieb nichts vergleichbares im Forum gefunden. Kannst Du Dich noch erinnern, wie das Thema hieß?

Danke und Gruss
imebro
Member: pieh-ejdsch
pieh-ejdsch Feb 23, 2011 at 10:08:09 (UTC)
Goto Top
moin imebro,

besser ist, wenn Du einen neuen Beitrag zu dem Thema erstellst.
Da hast Du auch größere Chanchen auf eine Zeitnahe Lösung dazu.

Gruß Phil