Via Script Dateien verschieben und vorhandene wenn älter überschreiben

  • Ab sofort steht euch hier im Forum die neue Add-on Verwaltung zur Verfügung – eine zentrale Plattform für alles rund um Erweiterungen und Add-ons für den DSM.

    Damit haben wir einen Ort, an dem Lösungen von Nutzern mit der Community geteilt werden können. Über die Team Funktion können Projekte auch gemeinsam gepflegt werden.

    Was die Add-on Verwaltung kann und wie es funktioniert findet Ihr hier

    Hier geht es zu den Add-ons

Status
Für weitere Antworten geschlossen.

DonCamillo82

Benutzer
Registriert
10. Okt. 2018
Beiträge
4
Reaktionspunkte
0
Punkte
1
Moin,

ich würde gerne folgendes via Aufgabenplanung und Script realisieren.

Alle Dateien in Ordner A via Script in Ordner B verschieben sowie ältere Dateien in Order B dann überschreiben.

Hintergrund ist, im Ordner A (was eine Freigabe ist) werden verschiedene .VHDX Dateien hineingesichert.

Nun die Idee, die Daten aus der Freigabe in ein Verzeichniss auf der NAS zu verschieben wo sonst keiner Zugriff von außen hat.

Ich habe es mit folgendem Script probiert:

mv /volume1/OrdnerA/Tag1/* /volume1/OrdnerB/Tag1/

Dies funktioniert auch, wenn Ornder B leer ist. Sobald hier schon Dateien drin sind macht er nix mehr und bringt den Fehler: Directory not empty

Ich habe auch schon versucht mit mv -f oder mv -u das Ganze laufen zu lassen, leider ohne Erfolg.

Im Einsatz ist hier eine DS214+ mit DSM 6.2.1

Vielleicht habt ihr eine Idee.

Vielen Dank

Gruß Don
 
Ich habe gerade bei mir die Verzeichnisse test und test2 angelegt. In jedes Verzeichnis eine gleichlautende Datei mit verschiedenem Inhalt.

Dann habe ich das hier ausgeführt:
Rich (BBCode):
mv /test/* /test2/

Funktioniert. Verzeichnis test ist leer, Verzeichnis test2 enthält die Datei aus Verzeichnis test und die Datei, die vorher in test2 lag ist überschrieben worden.

Hast du Freizeichen oder sonstiges Gedöns (äöü etc.) im Pfad?
 
Es gibt Freizeichen in den Unterordnern die kopiert werden sollen.

Also wie folgt:

Ordner A mit folgendem Inhalt;

/volume1/OrdnerA/Tag1/VM-Test/Virtual Hard Disks/VM-TEST-VM1.vhdx

Diers nach Ordner B

/volume1/OrdnerB/Tag1/VM-Test/Virtual Hard Disks/VM-TEST-VM1.vhdx

Macht dann hier der zukopierende Unterordner "Virtual Hard Disks" das Problem?
 
Setze den betreffenden Teil mit Freizeichen in Anführungsstriche. Beispiel:
Rich (BBCode):
/volume1/OrdnerA/Tag1/VM-Test/"Virtual Hard Disks"/VM-TEST-VM1.vhdx

Damit so was nicht passiert und nie Probleme macht:
Sonderzeichen, Umlaute, Freizeichen sollte man in Verzeichnis- und Dateinamen grundsätzlich, wenn möglich, immer vermeiden.
 
Mein Script sah ja wie folgt aus:

mv /volume1/OrdnerA/Tag1/* /volume1/OrdnerB/Tag1/

Heißt der Ordner mit den Freizeichen war ein zukopierender Unterordner

Falls es hierzu keine Lösung gibt, muss ich wohl einen MV Befehl für jede VHDX machen.
 
Falls es hierzu keine Lösung gibt
Doch, gibt es:
Setze den betreffenden Teil mit Freizeichen in Anführungsstriche

Nach deinem Pfad also in etwa so:
Rich (BBCode):
mv /volume1/OrdnerA/Tag1/VM-Test/"Virtual Hard Disks"/* /volume1/OrdnerB/Tag1/VM-Test/"Virtual Hard Disks"/
oder
Rich (BBCode):
mv /volume1/OrdnerA/Tag1/VM-Test/Virtual\ Hard\ Disks/* /volume1/OrdnerB/Tag1/VM-Test/Virtual\ Hard\ Disks/

Nimm dir ein Testverzeichnis und teste ein wenig rum.

Deine Möglichkeiten sind Backslash oder Anführungszeichen.
Lese auch mal u.a. hier:
https://www.linuxforen.de/forums/showthread.php?133393-Leerzeichen-in-der-Konsole
 
Zuletzt bearbeitet:
nur zur Info: Wenn im Ordnernamen Umlaute sind klappt es nicht!
 
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat