Dateien nur 1x kopieren

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
Benutzeravatar
gnude
Beiträge: 1567
Registriert: 14.09.2009 22:05:28
Kontaktdaten:

Dateien nur 1x kopieren

Beitrag von gnude » 17.10.2019 10:29:13

Hallo Debian User,

ich habe folgendes Problem: Auf dem Server habe ich zwei Verzeichnisse. Im Verzeichnis 1 landen immer wieder neue Textdateien mit Datensätzen im CSV Format. Diese Dateien möchte ich in Verzeichnis 2 kopieren und diese von dort aus dann mittels Script in eine Datenbank zu übertragen. Nachdem die Datei aus Verzeichnis 2 eingelesen wurde soll sie gelöscht werden, so das ich die Daten nicht doppelt einlese.

Das Problem ist... die Daten sollen in Verzeichnis 1 aber stehen bleiben. Daher fallen einfache Möglichkeiten wie cp oder mv aus, beim cp werden ja immer alle Daten wieder neu übertragen und bei mv verschwinden sie aus Verzeichnis 1.

Ich weiss nicht ob rsync da was bietet? Hat jemand eine Idee?

Benutzeravatar
Meillo
Moderator
Beiträge: 8817
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Re: Dateien nur 1x kopieren

Beitrag von Meillo » 17.10.2019 10:59:56

Warum verwendest du ueberhaupt das Verzeichnis 2? Kannst du sie nicht auch direkt von Verzeichnis 1 einlesen?

Im Falle nur eines Verzeichnissen waere das gleiche Noetig wie in dem von dir skizzierten Szenarios: Ein Loggen welche Dateien schon uebertragen bzw. verarbeitet worden sind.

Besser faende ich es aber, du wuerdest versuchen, die verschiedenen Belange besser voneinander trennen. Statt diesem linearen Durchlauf, in dem Verzeichnisse Doppelfunktionen haben, solltest du die Funktionen separieren. Mein Vorschlag:

- Upload-Verzeichnis
- Import-Queue-Verzeichnis
- Archiv-Verzeichnis

Vom Upload-Verzeichnis kopierst du jede Datei sowohl in das Import-Verzeichnis als auch in das Archiv-Verzeichnis. Anschliessend kannst du sie aus dem Upload-Verzeichnis loesen. (Das bedeutet, dass das System sie angenommen hat.

Die Dateien im Import-Queue-Verzeichnis werden in die DB importiert und dann geloescht.

Das Archiv-Verzeichnis ist eine reine Ablage, die nur immer weiter waechst.


Also: Entweder du haelst den Zustand in Verzeichnissen, dann brauchst du fuer jede Funktion ein eigenes. Oder du haelst den Zustand mittels Programmlogik in einem Logfile, dann kannst du alles in einem einzigen Verzeichnis machen.
Use ed once in a while!

Benutzeravatar
gnude
Beiträge: 1567
Registriert: 14.09.2009 22:05:28
Kontaktdaten:

Re: Dateien nur 1x kopieren

Beitrag von gnude » 17.10.2019 12:05:45

Ja ich glaube das Vorgehen ist sinnvoller. ICh habe es mal anders probiert... aber bringt nichts.

Antworten