2017-01-28 4 views
1

Ich habe eine Eigenschaftendatei, die mehrmals pro Tag von einer externen Anwendung gelesen wird, um einige Dateien zu verarbeiten. Eine der Eigenschaften teilt der App mit, wo die verarbeiteten Dateien gespeichert werden sollen. Die Anwendung läuft unter Linux.Wie wird das aktuelle Datum in Unix an den Wert der Eigenschaftendatei angehängt?

success_path=/u02/oapp/success 

Das Problem ist, dass jeden Tag mehrere Dateien in diesem Pfad geworfen werden und nach einigen Monaten habe ich Tausende von Dateien in dieser Ebene Ordner haben würde.

Frage: Wie kann ich das aktuelle Datum an dieser Eigenschaft Datei anhängen, so würde es wie folgt aussehen:

success_path=/u02/oapp/success/dd-MMM-yyyy 

Dieser täglich um 00.00 Uhr aktualisiert werden würde, so zum Beispiel heute wäre es

sein
success_path=/u02/oapp/success/28-JAN-2017 

Die Datei ist /u02/oapp/configuration/oapp.properties

Vielen Dank im Voraus

+0

Ist das Ändern der Eigenschaftendatei die einzige Möglichkeit, dies zu erreichen? Die Verwendung einer Konfigurationsdatei als irgendeine Art von Uhr scheint ein bisschen wie ein Hack zu sein, obwohl das, was Sie wollen, ansonsten nicht sehr schwierig ist. – Fred

+0

Die andere Möglichkeit besteht darin, den Code zu ändern, der von einem Ex-Vendor geschrieben wurde, und ich möchte nicht herausfinden, wie viele Dinge sich bei mir ändern werden, da ich wenig Zeit dafür habe. Es ist keine wirkliche Anforderung, es wird mir nur das Leben erleichtern. Wie kann ich dies mit einem Crontab-Job erreichen? –

Antwort

0

Stattdessen aktuelles Datum auf das Eigentum von Anhängen, fügen Sie zusätzliche Logik, um den Code, den die bearbeiteten Dateien speichert, so dass:

  • es das Basisverzeichnis aus der Eigenschaftendatei (success_path in Ihrem Fall) nimmt
  • es schafft pro Jahr/Monat/Tag-Verzeichnis wie die Dateien

Etwas zu speichern:

/u02/oapp/success/year/month/day (as in `/u02/oapp/success/2017/01/01`) 
or 
/u02/oapp/success/yearmonth/day (as in `/u02/oapp/success/201701/01`) 
or 
/u02/oapp/success/yearmonthday (as in `/u02/oapp/success/20170101`) 

Wenn Sie die Kappe nicht haben Wenn Sie das Verhalten der App ändern möchten, müssen Sie möglicherweise einen Cron-Job schreiben, der die Dateien regelmäßig extern in die App verschiebt.

+0

Danke für den Vorschlag, aber ich möchte vermeiden, den Code zu berühren. Es ist nur ein Jenga-Turm und ich wäre nicht überrascht, dies zu ändern, würde viele andere Sachen brechen. Also, irgendeine Idee, wie man es mit einem Cron-Job macht? –

Verwandte Themen