Aufgabenplaner Skript um Dateien zu verschieben

  • 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.

spodec

Benutzer
Registriert
21. Sep. 2016
Beiträge
146
Reaktionspunkte
10
Punkte
18
Hallo,

ich bin auf der Suche nach einem Skript, dass mir mit dem Aufgabenplaner regelmäßig den Inhalt eines Ordners A in einen anderen Ordner B verschiebt. Der Inhalt soll also im Ordner A danach entfernt sein und nur noch in Ordner B liegen. Das Ganze muss über zwei unterschiedliche Benutzer hinweg funktionieren. Ich habe das hier gefunden:

https://phi.de/en/synology-nas-dateien-nach-zeitplan-automatisch-verschieben/

Leider fehlt mich das Fachwissen, dass nun so anzupassen, dass es immer alle Dateien verschiebt, unabhängig wie alt sie sind.

Wäre cool, wenn mir jemand helfen könnte!

Danke!
 
Bash:
mv "/volume1/<gemeinsamer Ordner>/<Quellordner>/*" "/volume1/<gemeinsamer Ordner>/<Zielordner>"
Hier wird nicht geprüft, ob gleichnamige Zieldateien möglicherweise vorhanden sind und überschrieben würden.
Alles im Zielordner (d.h. auch Unterordner) wird in das Zielverzeichnis verschoben.
Das Ganze muss über zwei unterschiedliche Benutzer hinweg funktionieren.
Das funktioniert, wenn du es als admin / root ausführst.

Da du ja ausnahmslos alle Dateien verschieben möchtest, musst du es nicht so 'kompliziert' machen, wie in deinem Link.
 
Danke für dein Antwort.

Was muss ich denn statt
Code:
<gemeinsamer Ordner>
einsetzen? Ich habe jetzt den Teil
Code:
<gemeinsamer Ordner>/<Quellordner>
mit dem Ordnerpfad von Ordner A ersetzt und
Code:
<gemeinsamer Ordner>/<Zielordner>
mit dem Pfad von Ordner B.

Dann erhalte ich aber diese Meldung:
Code:
/bin/bash: -c: line 0: unexpected EOF while looking for matching `"'
/bin/bash: -c: line 1: syntax error: unexpected end of file
 
Code:
mv "/volume1/homes/<Benutzername>/Photos/Feuerwehr/*“ "/volume1/homes/<Benutzername>/Photos/2021"
 
  1. Vergleiche mal das Anführungszeichen vor und nach deinem Quellpfad (das hintere ist ein falsches Zeichen).
  2. <Benutzername> musst du natürlich noch auf deine gewünschten Usernamen anpassen
 
Klappt leider immer noch nicht. :(

Bildschirmfoto 2021-12-07 um 21.42.59-2.png
Ich habe den Pfad extra aus den File Station Eigenschaften des Ordners kopiert, um Fehler zu vermeiden.
 
Stimmt, mach es mal so (das Sternzeichen hinter das Anführungszeichen). Wenn du keine Leerzeichen im Pfad hast, könnte man auch ganz auf die Anführungszeichen verzichten.

Bash:
mv "/volume1/homes/<Benutzername>/Photos/Feuerwehr"/* "/volume1/homes/<Benutzername>/Photos/2021"
 
Danke!

Ich erhalte zwar eine Fehlermeldung im Protokoll. Aber es funktioniert. =)
 

Anhänge

  • Bildschirmfoto 2021-12-07 um 22.13.10-2.png
    Bildschirmfoto 2021-12-07 um 22.13.10-2.png
    46,5 KB · Aufrufe: 7
Weil @eaDir im Zielordner bereits besteht.
Probiere mal mv zu mv -f (bedeutet force) zu ändern. So wird ohne Rückfrage überschrieben.

Bash:
mv -f "/volume1/homes/<Benutzername>/Photos/Feuerwehr"/* "/volume1/homes/<Benutzername>/Photos/2021"
 
mv -f behebt den Fehler auch nicht. Wenn das auf Dauer aber kein Problem darstellt, kann ich damit leben? Die Funktion ist jetzt genau so, wie ich es mir gewünscht hatte! Vielen Dank für die schnelle Hilfe!
 
In diesen Verzeichnissen werden von Synology Metadaten gespeichert. Wenn deine Anwenderdateien erfolgreich verschoben werden, sehe ich jetzt kein Problem damit.
 
  • Like
Reaktionen: spodec
Bessere Alternative. Du wirst sonst wahrscheinlich bei nächsten Updateläufen auf das gleiche Probelm stoßen:
Bash:
rsync -rt --size-only --remove-source-files --stats --exclude="@eaDir" "/volume1/homes/<Benutzername>/Photos/Feuerwehr/" "/volume1/homes/<Benutzername>/Photos/2021"

Achte auf den abschließenden Slash hinter Feuerwehr.

Mit rsync wird das Quellverzeichnis mit dem Zielverzeichnis abgeglichen und kopierte Dateien im Anschluss aus dem Quellverzeichniss gelöscht. Nachteil: Leere Unterordner im Quellverzeichnis werden nicht gelöscht.
 
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