mv bei schon existierendem Zielverzeichnis

  • Hallo,


    Ich möchte ein Verzeichnis verschieben. Dabei existiert am Ziel schon ein Verzeichnis:

    Code
    mv -f /mnt/data/video_new/Kram /mnt/data_wd/video_new/
    ls -l /mnt/data_wd/video_new/
    drwxrwxrwx  4 root    users   4096 2010-12-30 03:20 Kram/


    Ich bekomme dabei die Fehlermeldung:

    Code
    mv: Verschieben zwischen Geräten fehlgeschlagen: „/mnt/data/video_new/Kram“ zu „/mnt/data_wd/video_new/Kram“; kann Ziel nicht entfernen: Is a directory


    Auch mv -f hilft nicht.


    Wie kann das kommen?


    Ich bin root ;)


    Gruß,
    Hendrik

  • Warum muss es denn mv sein? Warum nicht cp und rm?


    Gerald


    HP Proliant MicroServer Gen8, Xeon E3-1230, 12 GB RAM, 3xWD red 2TB im RAID 5, 2xSundtek MediaTV Home DVB-C/T, L4M TWIN-C/T, Ubuntu Server 14.04.1, Plex Media Server
    Samsung UE55H6470

  • Weil ich dann keine Abfrage
    "if not failed then rm" machen muss und weil es ganz viele Verzeichnisse sind.
    Die ganzen Befehle hab ich schon in einer textdatei, die ich nur noch ausführen müsste.

  • Zitat

    Original von henfri
    Weil ich dann keine Abfrage
    "if not failed then rm" machen muss und weil es ganz viele Verzeichnisse sind.


    Code
    cp -a <source> <dest> &&  rm -rf <source>


    ?


    Gerald


    HP Proliant MicroServer Gen8, Xeon E3-1230, 12 GB RAM, 3xWD red 2TB im RAID 5, 2xSundtek MediaTV Home DVB-C/T, L4M TWIN-C/T, Ubuntu Server 14.04.1, Plex Media Server
    Samsung UE55H6470

  • was ist mit mv -uv Quelle Ziel ?


    Aktualisiert wird nur was neuer oder im Ziel noch nicht vorhanden ist.


    mv -uvi macht das Ganze zusätzlich interaktiv.

    MSI P6NGM-FD | ASROCK A785GXH | Grafik: GeForce 9400GT| DVB-S2 Karten: Twinhan VP 1041 & Skystar HD

  • @ Gerald:
    Das ist mir jetzt aber peinlich.
    So sollte es gehen. Ist aber ein hässlicher workaround bei Dateien auf dem gleichen Laufwerk (hier nicht der Fall)


    Lou:
    Das gleiche Problem


    Komisch ist das ganze aber schon, oder? Das sollte doch eigentlich so gehen?


    OS ist übrigens ubuntu (yavdr)


    Gruß,
    Hendrik

  • Zitat

    Original von henfri
    @ Gerald:
    Das ist mir jetzt aber peinlich.
    So sollte es gehen. Ist aber ein hässlicher workaround bei Dateien auf dem gleichen Laufwerk (hier nicht der Fall)


    Schönheit liegt im Auge des Betrachters. ;)


    Gerald


    HP Proliant MicroServer Gen8, Xeon E3-1230, 12 GB RAM, 3xWD red 2TB im RAID 5, 2xSundtek MediaTV Home DVB-C/T, L4M TWIN-C/T, Ubuntu Server 14.04.1, Plex Media Server
    Samsung UE55H6470

  • Naja .. dann spielste halt ein wenig mit RegEx rum ...

    Code
    mv -uvi /mnt/data/video_new/Kram/[A-Za-z0-9_]* /mnt/data_wd/video_new/


    Falls in Kram/ verstecke Punkt Dateien mit drinn sind mach es in 2 Schritten:

    Code
    #Schritt 1: versteckte Punkt Verzeichnisse/Dateien schieben:
    mv -uvi /mnt/data/video_new/Kram/.[A-Za-z0-9_]* /mnt/data_wd/video_new/
    
    
    # Schritt 2: normale Verzeichnisse/Dateien schieben (wie oben):
    mv -uvi /mnt/data/video_new/Kram/[A-Za-z0-9_]* /mnt/data_wd/video_new/


    wobei ich für komplexere Skripte lieber rsync oder find mit exec Paramter verwende ...

    MSI P6NGM-FD | ASROCK A785GXH | Grafik: GeForce 9400GT| DVB-S2 Karten: Twinhan VP 1041 & Skystar HD

  • Hallo,


    Zitat

    Original von Lou
    wobei ich für komplexere Skripte lieber rsync oder find mit exec Paramter verwende ...


    Ja, rsync hab ich auch genutzt.


    Dank für den Tipp bmit der Regex.
    Warum sollte das denn funktionieren?
    Ich hab das Problem noch nicht verstanden.


    gerald:
    Ich denke aber, dass dein Auge das genau so sieht, oder?
    Denn dadurch dauert das, was sonst sekunden dauert Stunden.


    Gruß,
    Hendrik

  • ohne RegEx hat mv bei mir auch nicht funktioniert, weil er dauernd versucht das . und .. Verzeichnis mit zu verschieben.


    Wenn dir rsync bereits ein Begriff ist versuch es besser damit, weil rsync ist besser ausgelegt für diese Aufgabe.


    Das geht dann im wesentlichen so:


    Code
    #Trockenlauf:
    rsync -avnP /mnt/data/video_new/Kram/ /mnt/data_wd/video_new/
    
    
    #jetzt syncen:
    rsync -avP /mnt/data/video_new/Kram/ /mnt/data_wd/video_new/

    MSI P6NGM-FD | ASROCK A785GXH | Grafik: GeForce 9400GT| DVB-S2 Karten: Twinhan VP 1041 & Skystar HD

  • Hallo,


    das funktioniert leider auch nicht:
    rsync: chown "/mnt/data/video_new/0_Schoener_Wohnen_und_so/2008-10-14.10.58.50.99.rec/resume.vdr" failed: Operation not permitted (1)


    (Ausgeführt als Root)


    Ich bin ratlos.


    Gruß,
    Hendrik

  • chown failed: Operation not permitted (1)


    Sieht so aus als mag das Dateisystem in /mnt/data_wd/video_new/ kein chown -> was für ein Filesystem ist das, und mit welchen mount options wurde es eingehängt?


    ein "cat /proc/mounts | grep /mnt/data_wd/" wäre hilfreich um zu helfen, poste das mal hier rein.

    MSI P6NGM-FD | ASROCK A785GXH | Grafik: GeForce 9400GT| DVB-S2 Karten: Twinhan VP 1041 & Skystar HD

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!