Eigentor beim kopieren mittels "cp -r"

  • Ich wollte heute auf meiner TS-EC1680 R2 (unter 4.3.2) ein share verschieben. Zuerst habe ich mittels WebGUI den Ordner auf ein neues Volume verlegt und dann wollte ich mit der Shell (cp -r) den alten Share Ordner auf den neuen kopieren.


    Leider habe ich dabei nicht aufgepasst und die Reihenfolge der beiden Ordner verkehrt angegeben (neuer (leerer) Folder > alter Folder anstatt alter Folder > neuer (leerer) Folder). :cursing::cursing::cursing: Nach dem Enter war es dann auch schon zu spät: Ich habe nun zwei leere Folder... Allerdings scheinen die Daten noch angezeigt zu werden, also zumindest in der Volume Verwaltung belegen sie noch genauso viel Platz wie vorher. Ich habe umgehend mit dem services.sh alle Dienste gestoppt und habe nun die gelinde Hoffnung, dass sie noch irgendwo auf der Disk schlummern und wiederherstellbar sind. Denn nachdem ich das Raid samt Volume auflösen und neu konfigurieren wollte, habe ich "natürlich" Snapshots und Backup deaktiviert...

  • Einfach mal mit find eine dir bekannte Datei suchen.
    find /share -name *teil_des_namens*

  • Nun ja, der Folder "Software" im Volume "System" ist leer. Sprich außer dem Papierkorb befindet sich dort nichts mehr.


    Code
    [~] # find /share/CACHEDEV2_DATA/Software/
    /share/CACHEDEV2_DATA/Software/
    /share/CACHEDEV2_DATA/Software/@Recycle
    /share/CACHEDEV2_DATA/Software/@Recycle/desktop.ini

    Ursprünglich wollte ich auf dem Volume "System" den share "Software" verlagern ohne ihn übers Netz zu kopieren. Dazu habe ich auf meinem zweiten Speicherpool ein Volume "Medien" erstellt und per GUI (Freigabeordner) den Pfad für den Share umgelegt. Da ich die Shell gerade ohnehin offen hatte, habe ich anschließend cp -r benutzt um den Folder zu kopieren. Allerdings habe ich eben Quell- und Zielordner vertauscht und damit den Folder mit Infos mit dem neuen, und leeren "überschrieben". Nun sind beide Folder leer. Allerdings zeigt mir die Speicherverwaltung nach wie vor an, dass die über 800 GB Daten vorhanden wären (siehe Screenshot).
    Software Delete 001.JPG


    Habe ich eine Möglichkeit dieses Volume auf eine separate Disk zu klonen (z.B. mit "dd") und dann auf der geklonten Kopie mit Tools wie Testdisk nachzusehen?
    Vom Verständnis her müsste das Filesystem ja die Dateien und Folder nur ausgeklammert haben. Oder irre ich mich hier?

  • Ist CACHEDEV2_DATA dein neuer oder alter Ort der Freigabe ?


    Normal kopiert cp den Inhalt, aber löscht diesen nicht.
    Da der Ursprungsordner leer war konnte es nur nichts kopieren.


    Hast du zu "cp -r" noch einen weiteren Parameter genutzt ?

  • Zitat von Eraser-EMC2-


    Ist CACHEDEV2_DATA dein neuer oder alter Ort der Freigabe ?

    Also /share/CACHEDEV2_DATA/Software war der originale Ordner, den ich weg kopieren wollte. (eben extra nicht mit mv verschoben)
    /share/CACHEDEV7_DATA/Software war der neu angelegte und leere Ordner.


    Das Debakel habe ich mit folgendem Befehl veranstaltet:

    Code
    cp -r /share/CACHEDEV7_DATA/Software/ /share/CACHEDEV2_DATA


    Ich habe eben extra nicht mit mv gearbeitet, weil bei den letzten beiden Shares ohne Netz operierte. Im ersten Moment dachte ich mir noch, nachdem natürlich die Operation umgehend beendet war, dass ich nichts angerichtet hatte, weil die Folder sozusagen zusammengefügt hätten sollen. Aber dann war der Schock im ersten Moment doch groß, als beide Folder leer waren...

  • Ich nehme an, dass die Datei bzw. der Ordner in einem versteckten Verzeichnis liegen.
    Deshalb der Hinweis zu find.

  • Nach meinem Verständnis sollten alle Ordner und Dateien direkt unter "/share/CACHEDEV2_DATA" und nicht in dem Ordner "Software", schau mal dort direkt nach.
    EDIT:
    Gedankenfehler, doch keine Erklärung dafür ... :(

  • Ich nehme an, dass die Datei bzw. der Ordner in einem versteckten Verzeichnis liegen.
    Deshalb der Hinweis zu find.

    Aber sollte ich auf der Shell unter dem Build-in "admin" User nicht alle Folder, also auch versteckte, sehen?


    Und würde der Ordner im selben Share abgelegt werden? Also würde cp -r den vorhandenen einfach umbenennen und verstecken?


    Wobei das für mich spannende ist (im Vergleich zur Windows Welt), dass er mir den besagten Ordner anzeigt, als wäre er nicht heute "bearbeitet" worden. Was genau stellt der "cp" Befehl dann auf FS Ebene an? Laut meinen vorher eingelesenen Verständnis hätte der Parameter "-r" ja nur bewirken sollen, dass eben auch Verzeichnisse und Subverzeichnisse mitkopiert werden sollten.
    Aber es scheint, als hätte er das leere Verzeichniss über das "alte" geschoben...


    Bash
    [/share] # ls CACHEDEV2_DATA/ -lttotal 120drwxrwxrwx    6 admin    administ      4096 Dec 24 10:35 Download/-rw-------    1 admin    administ     10240 Dec 24 09:35 aquota.userdrwxrwxrwx    3 admin    administ      4096 Dec 23 14:50 Web/drwxrwxrwx    3 admin    administ     32768 Dec 20 21:51 Recordings/drwxrwxrwx   42 admin    administ      4096 Nov  8 19:21 Programme/drwxrwxrwx    5 admin    administ      4096 Aug 11 09:48 Multimedia/drwxrwxrwx    3 admin    administ      4096 Aug 11 09:00 Software/drwxrwxrwx    6 admin    administ      4096 Apr 10  2016 homes/drwxrwxrwx    3 admin    administ      4096 Apr 10  2016 Public/drwx------    3 admin    administ     16384 Mar 30  2016 lost+found/


    Ok, ich schiebe es mal auf die Weihnachtsstress der letzten Wochen:


    Aus irgendeinem Grund hat der Befehl die Daten aus dem alten "Software" Ordner in einen älteren Ordner namens "Programme" verschoben... Dieses alte Share hatte ich vor Wochen für Datenkonsultation angelegt.

    Also alle Daten da - nur im "falschen" Ordner. Allerdings beunruhigt mich das Ganze noch ein wenig. Also so ganz ohne Erklärung...

  • Und hättest du sie mit find gesucht, ach ich lass das ist mir zu blöd.
    Frohe Weihnachten


  • Und hättest du sie mit find gesucht, ach ich lass das ist mir zu blöd.

    Da hast du schon recht - nur unter dem Share war nichts zu finden. Ich habe nach zwei Lizenzdateien gesucht... Eigentlich nur durch Zufall, weil ich auf dem Share ein

    Code
    ls -R

    ausgeführt hatte, habe ich dann in dem betreffenden anderem Share die Dateien gefunden.


    Frohe Weihnachten

    Da stimme ich dir vorbehaltlos zu - besten Dank auf jeden Fall für die prompten Bemühungen. Ich habe ein Backup gezogen und nehme die Kiste über Weihnachten einmal außer Betrieb.