Neue Filme automatisch ab Datum auf Ext. USB schieben (Paket oder Shell Skript?!?)

Status
Für weitere Antworten geschlossen.

seger85

Benutzer
Mitglied seit
21. Feb 2018
Beiträge
127
Punkte für Reaktionen
0
Punkte
16
Moin Moin zusammen,

habt ihr vielleicht eine Idee/Lösung für mich wie ich meine neuen Filme ab einem bestimmten Datum auf eine Ext. USB Platte schieben kann?

---------------------------------------------------------------

Allgemeiner Hintergrund meines Wunsches:

Ich habe zwei Server die an unterschiedlichen Orten sind (bei meinen Eltern und einen bei mir) und ich möchte immer wenn ich nach Hause zu meinen Eltern fahre den selben Datenbestand haben. Ich würde dann immer nur die Platte abklemmen das neue Datum setzen und eine neue leere Platte anschließen und die Platte mit den gesammelten Filmen bei meinen Eltern anschließen wo ein anderer Job automatisch per anschliesen die neuen Filme/Serien kopiert.

So habe ich immer Lokal an meinen beiden Schlaforten die gleiche Datenbasis.

---------------------------------------------------------------

Das ganze sollte automatisch ablaufen, die USB Festplatte hängt an meiner Synology NAS und ist in DSM eingebunden.

Da ich im Paketzentrum alle Backup und Cloud Sync Themen bereits durch habe, gehe ich davon aus das ich das leider per Skript über die Aufgabensteuerung starten müsste. Doch genau da ist mein Problem. Ich bin in Linux überhaupt nicht zuhause und bräuchte dabei jemanden der das schreibt und wirklich an die Hand nimmt, keine Ahnung von (überhaupt nicht) :-(.

---------------------------------------------------------------

Rahmenbedingungen sind diese:

Es sollen alle neuen (ab ein Datum „welches ich im Skript anpasse“) Ordner immer auf die ex. Festplatte kopiert werden.
Dabei sollte die uhrsprüngliche Ordnerstruktur Quelle beachtet werden und auf das Ziel auch so kopiert werden.

Zeitangabe steuere ich ja über den Aufgabenplanner, da müsste ich nur wissen wie ich das .sh File ausführe?

Beispiel:

\\volumen1\diskstation\Filme\*alle neuen Filme/Ordner ab den 23.02.“ Erstellungsdatum

\\volumen1\diskstation\Kinderfilme\*alle neuen Filme/Ordner ab den 23.02.“ Erstellungsdatum

\\volumen1\diskstation\Serien\*alle neuen Filme/Ordner ab den 23.02.“ Erstellungsdatum

= das „ab-Datum“ ist immer das selbe bei allen Ordnern.

Auf einen USB-Share kopieren:

\\USB-Share\Filme\

\\USB-Share\Kinderfilme\

\\USB-Share\Serien\


Vielleicht noch eine Regel das wenn es bereits einen bestimmten Ordner gibt, der immer übersprungen wird, sonst würde er ja jeden Tag immer wieder alles kopieren
(perfekt wäre natürlich das er noch prüft ob der Ordner noch neues ist und dann doch überschreibt statt überspringt) .


„Optional und genial“
Optimaler Weise wird der Kopiervorgang mir auch in der Benachrichtigung angezeigt.

Wenn es kein Skript ist und ihr vielleicht einen entscheidenden Tip habt wie ich das vielleicht sogar mit einer UI in der DSM „Synology“ lösen kann wäre das natürlich noch viel viel besser, aber wie gesagt habe ich da nichts gefunden.


Es betrifft 4 Pfade:

/volume1/DiskStation/- Filme
/volume1/DiskStation/- Filme x265 (Neu Test)
/volume1/DiskStation/- Kinderfilme
/volume1/DiskStation/- Serien

Die alle nach einem definierten Datum durchgesucht werden sollen und wenn neuer als z.B. 20.02.2018 diese Ordner mit den Dateien darin dann in der selben Form (Ordnerstruktur) auf folgende Quelle kopiert werden sollen:

/USB-Fesplatte/- Filme
/USB-Fesplatte/- Filme x265 (Neu Test)
/USB-Fesplatte/- Kinderfilme
/USB-Fesplatte/- Serien

---------------------------------------------------------------

Ich habe jetzt sehr viel geschrieben, da ich bereits in einem anderen Forum (https://www.kodinerds.net/index.php...sch-ab-Datum-auf-Ext-USB-schieben-„Synology“/) diese Aufgabe gestellt habe, bzw. um Hilfe gebeten habe. Aber vielleicht gibt es ja doch noch eine einfachere Lösung bzw. vielleicht passt es hier auch einfach besser im Synolgy Forum.

Danke für eure Unterstützung und viele Grüße
Seger
 

seger85

Benutzer
Mitglied seit
21. Feb 2018
Beiträge
127
Punkte für Reaktionen
0
Punkte
16
Hallo zusammen,

hat denn jemand vielleicht eine Idee oder ist mein Anliegen so nervig und kompliziert, dass niemand helfen kann/möchte?

Würde mich riesig freuen, wenn mir jemand helfen könnte.

Viele Grüße Seger
 

Fusion

Benutzer
Sehr erfahren
Mitglied seit
06. Apr 2013
Beiträge
14.159
Punkte für Reaktionen
912
Punkte
424
Das ist halt nicht in 2 Minuten gemacht und eine einfachere Lösung als ein Script fällt mir für deine Aufgabenstellung nicht ein.

Ich würde vor allem mal schauen, da dir im Kodi Forum ja schon fast alles geschrieben wurde (lernen und probieren muss man selber), ob der Code mit text.txt funktoniert, und zwar der richtige mit > test.txt ähnlich deinen existierenden mit deiner .csv
Du hattest da einen Code Schnipsel zitiert und gemeint die test.txt fehlt. Diese war aber gar nicht Teil des Code-Schnipsel.

Anstatt -mtime +100 für Objekte älter als 100 Tage kann man eventuell auch
-newermt "2013-06-01" für alle Objekte diesen oder neueren Datums verwenden.

Alternative bei guter Internetanbindung wäre auch rsync / Hyper Backup (Dateikopie/Einzelversion). Dann musst nur einmal einen Anfangsbestand transportieren und bei jedem "Backup-Lauf" werden nur alle Änderungen übertragen.
 

seger85

Benutzer
Mitglied seit
21. Feb 2018
Beiträge
127
Punkte für Reaktionen
0
Punkte
16
Moin :),

hab ja tatsächlich noch dran gedacht das es auch mit einem Paket geht. Den Hinweis mit dem Datum und dem Skript ist ja schon mal neu und super aber kannst du mir vielleicht noch sagen, wie ich das per Skript Aufrufe. Im aufgabenplanner geht immer nur der Code direkt im Aufgabenplanner, sobald ich auf eine .sh Datei im Aufgabenplanner verweise, passiert nichts (auch bei meinem Bespielskript). Bei dem Skript welches für meine eigentliche Aufgabenstellung ist (Dateien kopieren ab Datum) erstellt er mir gar keine TXT Datei. Hier erstellt er immer eine Datei ohne Dateiendung die leer ist. Kannst du vielleicht bei dir testweise auch mal testen?

Die Paketlösung uner sync ist wegen der Datenmengen übers Internet ausgeschlossen, wenn man noch eine Sync Möglichkeit hat mit individueller Ausgabe auf lokalen Datenträger wäre das noch eine Möglichkeit, aber die Möglichkeit gibt es wohl auch nicht.

Danke und viele Grüße
Seger
 

Fusion

Benutzer
Sehr erfahren
Mitglied seit
06. Apr 2013
Beiträge
14.159
Punkte für Reaktionen
912
Punkte
424
Wäre schön wenn du konkrete Angaben machst, was du für scripte wie genau probierst. Das muss ich nicht testen, ich weiß, dass ich scripte im Aufgabenplaner laufen lassen kann bzw tue es auch aktiv.
Häufigste Fehler sind, dass Besitz-, Zugriffs- und/oder Ausführrechte nicht korrekt gesetzt sind, oder dass das SHE-Bang im Shell script fehlt oder ähnliches.
Am besten ist immer das script zuerst direkt auf der SSH Konsole zu testen und wenn das geht erst in die Aufgabe zu verpflanzen.

Zudem kannst du auch mehrere Code-Zeilen direkt im Aufgabenplaner einfügen. Reicht ja für die meisten simplen Aufgaben eh schon aus. Braucht es nicht extra ein separates script file.

Sind deine täglichen Änderungen so umfangreich, dass die Internetleitung in der Nacht nicht ausreicht, um ein paar GB zu übertragen? Wäre jedenfalls die "komfortabelste" Lösung nur einen Initial-Sync per USB zu transportieren.
Und auch ein sync via externer Datenträger würde funktionieren, wenn der gesamte Datenbestand der abgeglichen werden soll auf den Datenträger passt. Aber du willst ja vermutlich aus Platzgründen nur dieses "selektive, mit Datum und neuer" laufen haben.
Das gibt es halt nicht von der Stange.

Komme frühestens Richtung Wochenende mal dazu da ein wenig Zeit abzuzwacken und vielleicht ein kleines Testscript dazu zu machen.
 

seger85

Benutzer
Mitglied seit
21. Feb 2018
Beiträge
127
Punkte für Reaktionen
0
Punkte
16
Hey du,

alles gut ich habe Zeit und freue mich total drüber, dass du dich meinem Thema „angenommen“ hast. Kein Stress, freue mich was zu lernen und versuche es auch zu verstehen was da entsteht. Um noch kurz auf deine Frage zurückzukommen, ja leider sind die Datenmengen häufig ziemlich groß und dauern einfach zu lange um sie übers Internet zu synchronisieren. Alleine eine neue Staffel in sehr guter Qualli und ein Film nehmen in einer sehr guten Qualität gut und gerne mal >50gb weg, und ich kaufe mir öfters mal was neues und archiviere es.

Hinsichtlich des Testes werde ich mal die Tage (Freitag) den Code zusammen kopieren, mal schauen ob du daraus was machen kannst bzw. ableiten kannst.

Ja, ich habe schon mal einen Mustercode über die Aufgabenplanung zum laufen bekommen, aber leider noch nie über eine .sh Datei. Komisch war in der Vergangenheit, dass es über den Aufgabenplaner ging, aber eben nicht über die .sh Datei. Rechte waren es eigentlich nicht, da ich immer als Admin angemeldet war, aber ist ja auch egal, vielleicht bekommen wir es ja jetzt hin.

Danke dir jetzt schon! Wenn es für dich einfach ist können wir auch gern mal telefonieren und/oder eine Teamviewersession machen (nur ein Angebot, da es für den der Ahnung hat meistens leichter ist). Ich will nicht Zuviel versprechen, aber ich werde mich auch mit einer kleinen Freude bekanntlich zeigen :).

Danke und bis zum WE vielleicht.

Seger
 

Solear

Benutzer
Mitglied seit
05. Aug 2014
Beiträge
224
Punkte für Reaktionen
0
Punkte
16
Wie schnell sind denn die Internetleitungen? Evtl. ist es cleverer, per VPN/Plex das zu streamen was man braucht. Einfach einen Firestick/AppleTV vorkonfigurieren und fertig.
Plex bietet auch die Möglichkeit, Filme und Serien vorab auf den Clienten zu laden. Dazu muss man natürlich vorher wissen was man gucken möchte, und ist nicht das was du suchst.
 

seger85

Benutzer
Mitglied seit
21. Feb 2018
Beiträge
127
Punkte für Reaktionen
0
Punkte
16
Internetstreming ist da leider raus, möchte die Dateien schon Lokal am anderen Ort haben (hat auch Backup-Charakter)

Trotzdem danke für den Inpuls :).

Viele Grüße
Seger
 

seger85

Benutzer
Mitglied seit
21. Feb 2018
Beiträge
127
Punkte für Reaktionen
0
Punkte
16
Also ich habe mal diesen Code probiert, da passiert aber leider gar nichts im auf dem Laufwerk:

#!/bin/bash
find /DiskStation/Emby Testumgebung/- Filme x265 (Neu Test) -mtime +100 -exec ls -l "{}" > test.txt \;

bei dem auch nicht:

#!/bin/bash
find /DiskStation/Emby Testumgebung/- Filme x265 (Neu Test) -newermt "2018-02-01" -exec ls -l "{}" > test.txt \;

und dann gibt es ja noch folgenden Versuch:

#!/bin/bash
days=$1
while IFS= read -rd '' file; do copy_function; done < <(find /quelle/ -type d -mtime +$"days" -print0)

copy_funtion() {
if [ -d "$1" ]; then
continue
else:
cp -R "$1" /ziel/
fi
}

ich habe wie gesagt überhaupt keine Plan wie ich das genau hinbekomme :-(

Anbei nochmal die betroffen Pfade:

/volume1/DiskStation/- Filme
/volume1/DiskStation/- Filme x265 (Neu Test)
/volume1/DiskStation/- Kinderfilme
/volume1/DiskStation/- Serien

Die alle nach einem definierten Datum durchgesucht werden sollen und wenn neuer als z.B. 20.02.2018 diese Ordner mit den Dateien darin dann in der selben Form (Ordnerstruktur) auf folgende Quelle kopiert werden sollen:

/USB-Fesplatte/- Filme
/USB-Fesplatte/- Filme x265 (Neu Test)
/USB-Fesplatte/- Kinderfilme
/USB-Fesplatte/- Serien

Der Beste weg wäre es über eine .sh Datei. Habe es aber wie du bereits gesagt hast erstmal "nur" über die Aufgabensteuerung versucht. Rechte sind alle vorhanden.

Ich würde mich wie gesagt total freuen, wenn du/ihr mir helfen könntet. Egal wann und was dabei rauskommt, herzlichen Dank schon mal!

Viele Grüße
Seger
 

Fusion

Benutzer
Sehr erfahren
Mitglied seit
06. Apr 2013
Beiträge
14.159
Punkte für Reaktionen
912
Punkte
424
Nur mal kurz vom Mobile zwischendurch.

Deine Pfade sind nicht gerade Ideal mit Leer und Sonderzeichen. Da muss entweder der gesamte Pfad in "" gefasst werden oder alle Leer- und teilweise Sonderzeichen per (am Beispiel von @) mit \@ abgefangen werden.

Beispiel für die Konsole, oder Aufgabenplaner (eine Zeile), mit einem heraus gepickten Pfad, da du nicht konsequent bei einem Beispiel bleibst. Der Pfad ist absolut verwendet in dem Fall, also egal in welchem Ordner du dich aktuell befindest.
Bei relativen Pfaden wie du sie verwendet hast, hat er jetzt je nachdem wo die ausgeführt wurden halt wild irgendwo Sachen hin geschrieben (oder nicht, weil er bei einem Leerzeichen im Pfad beim find Befehl einfach einen Fehler auswirft).

find "/volume1/DiskStation/Emby Testumgebung/- Filme x265 (Neu Test)" -mtime +100 -exec ls -l "{}" > "/volume1/DiskStation/Emby Testumgebung/test.txt" \;
 
Zuletzt bearbeitet:

seger85

Benutzer
Mitglied seit
21. Feb 2018
Beiträge
127
Punkte für Reaktionen
0
Punkte
16
Moin Moin :),

also, jetzt sind wir schon ein ganzes Stück weiter, der Pfad wird durch das einschließen von den ("") genommen und es wird eine .txt Datei am angegebenen Ordner erstellt.
Nun findet er einige Ordner und Dateien.

Rich (BBCode):
find "/volume1/DiskStation/Emby Testumgebung/- Filme x265 (Neu Test)" -mtime +100 -exec ls -l "{}" > "/volume1/DiskStation/Emby Testumgebung/test.txt" \;

Darüberhinaus habe ich den Code gleich mal angepasst um deine Idee mit dem Datum, der scheint auch zu funktionieren, es werden alle Dateien aufgelistet und anschließend die ab den 22.02.2018 aufgelistet.

Rich (BBCode):
find "/volume1/DiskStation/Emby Testumgebung/- Filme x265 (Neu Test)" -newermt "2018-02-22" -exec ls -l "{}" > "/volume1/DiskStation/Emby Testumgebung/test2.txt" \;

Jetzt könnten wir ja vielleicht den nächsten Schritt angehen:), DANKE (wieder was gelernt mit den ("").

Da es sich um 4 Pfade handelt, kann ich einfach die selbe Codezeile 4 mal untereinander kopieren und er würde alle Codezeilen nacheinander absuchen. Danach müsste er aus den gefunden Pfaden auf die USB Platte kopieren, wobei die "Ober"ordner Struktur dem der Quelle entsprechen muss.

Danke nochmal und viele Grüße

Seger
 
Zuletzt bearbeitet:

seger85

Benutzer
Mitglied seit
21. Feb 2018
Beiträge
127
Punkte für Reaktionen
0
Punkte
16
Hey mein Lieber ein kleines Update:

Es wird bereits ausgeführt :), jetzt geht es um die Copy Funktion und der Feintuning anhand der unten aufgeführten Rahmenbedingungen.


Rich (BBCode):
#!/bin/bash
find "/volume1/DiskStation/Emby Testumgebung/- Filme x265 (Neu Test)" -newermt "2018-02-22" -exec mv "{}" "/volumeUSB1/usbshare" > "/volumeUSB1/usbshare/Log.txt" \;

Rahmenbedingungen:

- Es sind 4 Quellpfade die würde ich gern oben im Skript einmal setzen.

. Es gibt 1 Zielpfad "/USB-Fesplatte/" (hier müsste die originale Ordnerstruktur angelegt werden von den Quellen)


Bedingung: Wenn Dateien bereits vorhanden und neuer, dann überspringen und nicht kopieren, sonst kopieren.


Ergebnis mit allen Kopien in ein Log auf "/USB-Fesplatte/LOG.txt" anlegen (es wäre schön wenn das Log immer Datum und nur die kopierten Pfade auflistet) - da kann man bestimmt das hier nehmen oder?:


Rich (BBCode):
| sort | tr '\r' '\r\n'
Ich würde mich freuen, wenn mir das jemand erstellen würde, und mit das fertig gepostete Skript erklärt, damit ich ein wenig lerne.

Danke für Deine bisherige Hilfe, ich freu mich total das ich bereits:

Rich (BBCode):
-exec ls -l
-exec mv
-newermt
Und das man Pfade mit "" einfängt

ein wenig mehr verstanden habe.

Danke für die weitere Hilfe :)

Update: Er kopiert zwar, aber irgendwie wird das Find bzw. das Datum nicht mehr berücksichtigt, seitdem ich -exec ls -l zu -exec mv geändert habe.

Viele Grüße
Seger
 
Zuletzt bearbeitet:

Fusion

Benutzer
Sehr erfahren
Mitglied seit
06. Apr 2013
Beiträge
14.159
Punkte für Reaktionen
912
Punkte
424
mv verschiebt Dateien und kopiert sie nicht.

Für das Kopieren mit Ordner-Struktur kann man z.B. --parents verwenden
Beispiel
cp --parents test/1/moo test2/
resultiert in
test2/test/1/moo

Da ist es halt wichtig wo der Befehl ausgeführt wird

Also für einen Pfad eventuell (zuerst in den obersten zu bearbeitenden Ordner wechseln, darin die Suche ausführen (nur nach Dateien) und die gefundenen Daten inklusive Pfade in den absoluten Zielpfad kopieren, wenn neuer (-u, update) als am Ziel
cd "/volume1/DiskStation/Emby Testumgebung/- Filme x265 (Neu Test)" && find -type f -newermt "2018-02-22" -exec cp -u --parents "{}" "/volumeUSB1/usbshare/- Filme x265 (Neu Test)/" > "/volumeUSB1/usbshare/Log.txt" \;

Kann man ja später im Script dann mit Varaiblen für die Pfade versehen, dass die Befehle eventuell übersichtlicher werden.
 
Zuletzt bearbeitet:

synfor

Benutzer
Sehr erfahren
Mitglied seit
22. Dez 2017
Beiträge
9.036
Punkte für Reaktionen
1.618
Punkte
308
mv verschiebt Dateien und kopiert sie nicht.
Wenn das Ziel aber nicht im gleichen Dateisystem liegt, was hier im Wunsch der Fall ist, läuft das aber schon auf Kopieren mit anschließendem Löschen hinaus. Oder kann mv das etwa gar nicht?
 

dil88

Benutzer
Sehr erfahren
Mitglied seit
03. Sep 2012
Beiträge
30.709
Punkte für Reaktionen
2.118
Punkte
829
Doch, das kann mv und tut es so, wie Du beschrieben hast - auch dabei werden Eigentümer, Gruppe, Rechte und Timestamp übernommen.
 

Fusion

Benutzer
Sehr erfahren
Mitglied seit
06. Apr 2013
Beiträge
14.159
Punkte für Reaktionen
912
Punkte
424
@synfor - was ist die Frage? A mv B. Dateien sind am Ende nicht mehr unter A vorhanden. Wie der Vorgang technisch abläuft ist doch nicht relevant, oder auf welchen Punkt willst du raus?
Natürlich stellt mv sicher, dass die Quelle erst gelöscht wird, wenn die Datei vollständig am Ziel vorhanden ist.
 

seger85

Benutzer
Mitglied seit
21. Feb 2018
Beiträge
127
Punkte für Reaktionen
0
Punkte
16
mv verschiebt Dateien und kopiert sie nicht.

Für das Kopieren mit Ordner-Struktur kann man z.B. --parents verwenden
Beispiel


Da ist es halt wichtig wo der Befehl ausgeführt wird

Also für einen Pfad eventuell (zuerst in den obersten zu bearbeitenden Ordner wechseln, darin die Suche ausführen (nur nach Dateien) und die gefundenen Daten inklusive Pfade in den absoluten Zielpfad kopieren, wenn neuer (-u, update) als am Ziel


Kann man ja später im Script dann mit Varaiblen für die Pfade versehen, dass die Befehle eventuell übersichtlicher werden.

Perfekt mein Lieber, du verstehst mich total, bereinigst meine Fehler und gibts noch Tipps für was genau was steht.

mv - war dann von mir völlig falsch gesetzt, du hast es erkannt. Richtig es soll in meinem Fall auf die externe Festplatte kopiert werden.
Die neuen Punkte habe ich soweit verstanden und hören sich schlüssig an, werde es heute Abend mal testen.

Eine kleine Frage noch um alles bis jetzt zu verstehen:

&& wieso 2 davon?

Sonst ist wie gesagt alles schlüssig und verständlich und wird heute getestet. Variable für die Quellen und dem Ziel machen wir dann später. Außer du hast vorher schon Lust und Zeit, aber ich würde sagen wir testen erstmal.

Dank auch an die Anderen :), wenn ihr noch Ideen habt immer gern her damit :)

Viele Grüße
Seger
 

Fusion

Benutzer
Sehr erfahren
Mitglied seit
06. Apr 2013
Beiträge
14.159
Punkte für Reaktionen
912
Punkte
424
Das && ist ein Operator für die Shell, also eine Befehlsanweisung

Ganz übersichtlich denke ich hier dargestellt
https://wiki.ubuntuusers.de/Shell/Operatoren/

Wir wollen ja mehrere Befehle abarbeiten und da ist es nur vernünftig dies nur zu tun, wenn der vorhergehende Befehl erfolgreich war.
Einfach so mehrere Befehle ausführen geht auch mit ; , oder auch mit &.
Dann ist aber nicht sichergestellt, dass der erste Befehl erfolgreich beendet ist, bevor ein anderer kommt bzw. die Reihenfolge ist nicht garantiert.
Könnte dann z.B. anfangen Dateien zu suchen, bevor man in das passende Verzeichnis gewechselt ist, um bei diesem Beispiel zu bleiben.
 

seger85

Benutzer
Mitglied seit
21. Feb 2018
Beiträge
127
Punkte für Reaktionen
0
Punkte
16
Cool, die "&&" Operator habe ich auch verstanden, danke fürs beibringen :).

Ich habe den Code gerade getestet und ich muss sagen, wir nähern uns dem Ganzen, DANKE!!!

Der Kopiervorgang mit der Ordnerfunktion funktioniert super mit dem
Rich (BBCode):
cp -u --parents
Codeschnipsel, genial :).
Bevor wir nun mit dem setzen der Variablem beginnen, hab ich noch 2 Dinge.

1) Das Log (log.txt) wird erstellt und auch auf der USB-Platte erstellt, doch irgendwie ist die .txt Datei leer, siehst du vielleicht woran es liegen kann? Vom Skript passt es ja eigentlich, hat sich da irgendwie ein kleiner Fehlerteufel eingeschlichen oder muss ich den Codeschnipsel an einer anderen Stelle bringen damit es auch sauber dokumentiert wird?

2)

Absolut keine Prio, wenn der Code dadurch jetzt zu unübersichtlich wird dann machen wir es lieber später oder gar nicht. Mir ist total wichtig, dass ich nie den Überblick verliere bei dieser Lernstunde und der erste Punkt und die anderen Dinge sind wichtiger...

Zum Thema: Ich musste im Zielordner den ersten Oberordner
Rich (BBCode):
"/volumeUSB1/usbshare/- Filme x265 (Neu Test)/"
erst erstellen damit das Skript läuft, ist aber ja auch klar.
Für mich ist es so okay, ich kann ja meine Oberordner alle auf der Platte erstellen und nach erfolgen lokalen Austausch den Inhalt einfach löschen und den Oberordner behalten!
Aber vielleicht können wir (du - entschuldige ich lerne ja fleißig durch dich :)) ja eine Regel erstellen wenn Oberordner noch nicht da, dann erstelle diesen und zwar Anhand des letzen Quellordnernames. Macht vielleicht Sinn das nach den ganzen setzen der Variablem zu machen. In meinem Kopf ist da jetzt folgende Idee:

--------------------------
Sammlung Variable
1Quellordner="/volume1/DiskStation/Emby Testumgebung/- Filme x265 (Neu Test)"
2Quellordner="/volume1/DiskStation/- Filme"
3Quellordner="/volume1/DiskStation/- Kinderfilme"
4Quellordner="/volume1/DiskStation/- Serien"

Zielordner="/volumeUSB1/usbshare/"

und dann habe ich was gelesen von "mkdir" und das vielleicht in Verbindung mit dem letzen Namen aus 1Quellordner "- Filme x265 (Neu Test)".

Wie du sicher merkst, mache ich mir viele Gedanken und ich hoffe ich spiele dich nicht schwindelig.

Danke nochmal, hast mir bis jetzt schon unglaublich geholfen!!!

Viele Grüße
Seger
 

Fusion

Benutzer
Sehr erfahren
Mitglied seit
06. Apr 2013
Beiträge
14.159
Punkte für Reaktionen
912
Punkte
424
zu 1) zwei Möglichkeiten fallen mir ein, entweder
... >> "/volumeUSB1/usbshare/Log.txt" \;
oder
... 2> "/volumeUSB1/usbshare/Log.txt" \;

zu 2) ja, richtig erkannt.
Die Frage ist, ob sich das lohnt. Wie oft wirst du neue Ordner benutzen z.B.?
Aber ja, da gäbe es dann denke auch noch Möglichkeiten (if-Schleife mit Prüfung (string-Vergleich oder ähnlich) ob Quell-Ordner am Ziel existiert) auf Existenz von Ordnern zu prüfen und im Fall neu anzulegen


So schnell bekomme ich hier kein Drehwurm. :)
Lernen und Verstehen ist das wichtigste.
 
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