Script für rsync gesucht

rednag

Well-known member
Moin liebe Gemeinde,
Ich hab hier wieder ein kleines aber nerviges Problem. Die Problemstellung: ich lasse Filme von TV aufnehmen. Diese werden mit Vorspann, Werbung und Nachspann auf der Syno abgelegt. Aus diesem Ordner heraus werden die Filme mit Avidemux geschnitten. Naturgemäß liegen nun zwei Filme in dem Ordner. Jeweils mit und ohne Werbung. Ohne Werbung sind die fertig bearbeiteten natürlich von der Größe auch unterschiedlich. Ich suche nun ein Script welche das Verschieben der kleineren Dateien in einem anderen Ordner (dem endgültigen Platz) übernimmt und die großen Originaldatei löscht. Aber das ganze erst wenn sich zwei Filme mit den gleichen Namen darin befinden. Ich hoffe ich konnte mein Anliegen einigermaßen gut erklären.
 

blurrrr

Well-known member
Warum sollte das jetzt irgendwas mit rsync zu tun haben, wenn das sowieso alles auf dem gleichen System liegt? "mv" und "rm" sind Deine Freunde, da braucht es kein rsync für. Zur Identifikation der Files kann man entweder den Zeitstempel nehmen (die bearbeitete Version wird "neuer" sein), oder man hängt temporär etwas wie ".fertig" an, nutzt das als Erkennungsmerkmal, verschiebt die ".fertig"-Datei (und benennent sie dabei auch direkt so um, das das ".fertig" wieder entfernt wird) und löscht danach die restlichen Inhalte im Ordner (oder direkt den ganzen Ordner, keine Ahnung wie das bei Dir so läuft). Nur mal so als grobe Richtung, gibt sicherlich schlauere/elegantere Lösungen ;)
 

Tommes

Active member
Hi!
Naturgemäß liegen nun zwei Filme in dem Ordner…
… die natürlich nicht den selben Namen tragen können. Daher kannst du, wie @blurrrr schon anmerkte, einfach nach der Differenz im Dateinamen suchen lassen. Das ginge am einfachsten z.B. mit einem…

Bash:
if [ -f /Quelle/*.ts.fertig ]; then
  mv /Quelle/*.ts.fertig /Ziel/*.ts
  rm -f /Quelle/*.ts
fi

Um nicht versehentlich einen Film zu löschen, der noch nicht geschnitten wurde, müsste man alle Dateien mit der Dateiendung .ts, z.B. über eine for Schleife einlesen und dann einen Vergleich anstellen, ob ein gleicher Dateiname mit der Dateiendung .ts.fertig vorhanden ist. Falls ja, dann verschieben und löschen. Falls nein, Aktion abbrechen.

So aus der holen Hand wollte ich das jetzt aber nicht Scripten bzw. posten, das müsste ich dann selber erstmal testen. Nachher bau ich dir hier ungewollt noch einen Dateivernichter 🤣
 

Zurzeit aktive Besucher

Letzte Anleitungen

Statistik des Forums

Themen
1.334
Beiträge
17.778
Mitglieder
843
Neuestes Mitglied
smartloftnrw
Oben