Dokumentation  

Dieser Job kopiert eine oder mehrere Dateien.

Existenz von Dateien prüfen, Wildcard-Unterstützung durch reguläre Ausdrücke, Rekursive Verarbeitung von Unter-Verzeichnissen, Dynamic creation of target directories Verwendung von Platzhaltern und Variablen zur zustandsabhängigen Substitution, um zum Beispiel das aktuelle Datum in einen Dateinamen einzufügen Datei-Aufträge können erzeugt werden, Eine resultate-liste kann erzeugt und von einem Folgejob ausgewertet werden

Beispiele:

source_file file_spec replacing replacement Beispiel Ergebnis Kommentar
./temp .* ~ "" hallo.dat~ hallo.dat -
a.txt - [.]txt _2006-11-24.txt - a_2006-11-24.txt -
./temp .* .* [filename:] [date:yyyy-MM-dd].dat a.txt a.txt2006-11-24.dat [filename:] und [date:] werden substituiert nachdem die Ersetzung durchgeführt wurde
./temp .*[.]txt a.*?b world a.1.b.txt.b world.txt.b .*? : Verwendung von .* im Modus "ungreedy"
abcdefg.txt - ^(ab)cde(fg)[.]txt 123;[date:yyyy-MM-dd] - 123cde2006-11-24.txt ; : Trennzeichen zwischen mehreren Ersetzungsstrings
./temp .*dat$ (ab)_c[0-9]d_(fg) group1;group2 ab_c1d_fg. ab_c2d_fg.dat group1_c1d_group2. ab_c2d_fg.dat Nur die erste Übereinstimmung des Musters wird ersetzt.
./temp .* ^(?:aa|bb)_.{2}_ ([0-9]+_[0-9]+)$ tail aa_QU_061205_222334 aa_QU_tail (?:...) : "?:" Spezifiziert eine "non capturing group". Diese wird nicht ersetzt.
./temp FILE.txt .* [filename:lowercase]_[filename:uppercase]_[filename:] FILE.txt file.txt_FILE.TXT_FILE.txt -

source_file target_file file_spec create_dir replacing replacement Beispiel Ergebnis Kommentar
aaa/bbb/ [directory:]/[date:yyyyMMdd]/ hello.txt true [.]txt [date:yyyy].txt aaa/bbb/hello.txt aaa/bbb/20070316/hello2007.txt Wenn das Verzeichnis aaa/bbb/20070316 noch nicht existiert, wird es angelegt

Für weitere Informationen zu regulären Ausdrücken, siehe java.util.regex.Pattern

Einige Bemerkungen über reguläre Ausdrücke wie sie im JobScheduler verwendet werden.

Ein regulärer Ausdruck ist keine wildcard . Um einen Eindruck hinsichtlich der Unterschiede zwischen einer Wildcard und einem regulären Ausdruck zu bekommen, betrachten wir die Wildcard "*.txt", welche alle Dateien mit dem Dateinamen-Erweiterung ".txt" auswählt. Ein regulärer Ausdruck funktioniert auf die gleiche Art und Weise, hier muss die "Wildcard" jedoch die Form "^.*\.txt$" haben. Das sieht ein wenig seltsam aus, aber ist viel flexibler und leistungsfähiger zur Filterung der Dateinamen als das Konzept der Wildcards, wenn man komplexere Namen oder Muster filtern möchte.

Ein weiterer Vorteil regulärer Ausdrücke gegenüber einer "wildcard" ist die Mächtigkeit und gleichzeitige Flexibilität bei der Formulierung von Bedingungen, die zutreffen müssen, damit ein Dateiname (e.g. ein String) ausgewählt wird. Sollen zum Beispiel alle Datein ausgewählt werden, deren Name entweder die Zeichenkette "SUCH" oder "SUEU" oder "LIS1" enhält und nicht am Anfang oder Ende steht, so ist der reguläre Ausdruck wie folgt zu formulieren: ^.*(SUCH|SUEU|LIS1).*$

Die allgemeine Syntax eines regulären Ausdrucks , auch regex or regexp genannt, wird hier beschrieben. Es unterscheidet sich von anderen RegExp Definitionen, z. B. wie für Perl.

Für weitere Informationen regulärer Ausdrücke siehe java.util.regex.Pattern

Dieser Job kann einzeln (eingenständig; stand-alone), außerhalb einer Job-Kette, oder auftragsgesteuert als Knoten innerhalb einer Jobkette verwendet werden. Die Parameter werden entsprechend als Job- oder Auftragsparameter von der Implementierung des Jobs interpretiert und verarbeitet.

Ein Job kann eine beliebige Anzahl Parameter haben, die vom JobSchedulder dem Job beim Job-Start übergeben werden. Parameter werden in der Konfigurationsdatei des Jobs bzw. des Auftrages oder über die entsprechenden API-Methoden definiert und mit Werten versorgt. Parameter sind entweder obligatorisch oder optional. Für einen Parameter kann ein Default-Wert vorgegeben sein. Der gilt dann, wenn der Parameter nicht angegeben wurde. Nicht alle Parameter haben einen Default-Wert.

Auftragsparameter überschreiben gleichnamige Job-Parameter.

Class Name/ Titel JobSchedulerCopyFile  Copies one or more files
  Auftragssteuerung Dieser Job kann durch Aufträge oder durch Job-Starts veranlasst ablaufen.
  Tasks unbounded
  Skript
Konfiguration  

Dieser Job kann einzeln (eingenständig; stand-alone), außerhalb einer Job-Kette, oder auftragsgesteuert als Knoten innerhalb einer Jobkette verwendet werden. Die Parameter werden entsprechend als Job- oder Auftragsparameter von der Implementierung des Jobs interpretiert und verarbeitet.

Ein Job kann eine beliebige Anzahl Parameter haben, die vom JobSchedulder dem Job beim Job-Start übergeben werden. Parameter werden in der Konfigurationsdatei des Jobs bzw. des Auftrages oder über die entsprechenden API-Methoden definiert und mit Werten versorgt. Parameter sind entweder obligatorisch oder optional. Für einen Parameter kann ein Default-Wert vorgegeben sein. Der gilt dann, wenn der Parameter nicht angegeben wurde. Nicht alle Parameter haben einen Default-Wert.

Auftragsparameter überschreiben gleichnamige Job-Parameter.

Dieser Job erstellt eine Ergebnisliste. Die Ergebnisliste enthält die Namen aller Dateien die aufgrund des Filterkriteriums ermittelt wurden. Die Ergebnisliste wird als Job-Parameter vom Job geliefert, kann aber auch als Datei erstellt werden.

Datei-Aufträge erstellen

Dieser Job kann Datei-Aufträge (file-orders) erzeugen. Dabei kann angegeben werden, ob nur für die erste Datei oder für alle Dateien in der Ergebnisliste ein Dateiauftrag angelegt werden soll.

Weiterführende Informationen zu Datei-Aufträgen ("file-orders") finden Sie hier: Directory Monitoring with File Orders .

  Parameter Datei-Auftrags-ErzeugungErgebnismenge
target_file Default: .
[erforderlich] Datentyp: SOSOptionFileOrPathName Ziel-Datei oder -Verzeichnis

Zieldatei oder Zielverzeichnis

Wird target_file nicht angegeben, dann wird der Verzeichnispfad von source_file als Ziel verwendet.

Unterstützt Substitution von Job-Parameternamen durch deren Wert, wenn der jeweilige Job-Parametername mit %  und  % geklammert ist.
Beispiel: <param name="source_file" value="%scheduler_file_path%" />
Der Parameter source_file enthält zur Laufzeit den Wert, der im Job-Parameter scheduler_file_path gesetzt ist. Bei der Verzeichnisüberwachung mit Dateiaufträgen wird der Job-Parameter scheduler_file_path mit dem Namen (und Pfad) der Datei gesetzt, die den Auftrag ausgelöst hat.

Unterstützt Substitution von Masken in Parameterwerten mit Formatangaben, die mit [ und ] geklammert sind. Folgende Formate werden unterstützt:

  • [date: date format ]
    date format muss ein gültiger Java Format-String für Datumsangaben sein, z.B.
    yyyyMMddHHmmss , yyyy-MM-dd.HHmmss etc.
    Beispiel:
    <param name="target_file" value="sample/hello[date:yyyyMMdd].txt" />
    Am 31.12.2050 enthält der Parameter target_file den Wert "sample/hello20501231.txt" .
  • [directory:]
    Wird durch den Verzeichnispfad von source_file ersetzt.
  • [directory: index ]
    Wird durch den Verzeichnispfad von source_file bis zu oder ab dem Verzeichnis index ersetzt.
    index kann eine positive Zahl, eine negative Zahl oder 0 sein.
    Beispiel:
    source_file ist "aaa/bbb/ccc/ddd/", umfasst also 4 Verzeichnisse
    [directory:2] liefert "aaa/bbb" zurück.
    [directory:-3] liefert "bbb/ccc/ddd" zurück.
    [directory:0] oder [directory:-0] liefern immer den kompletten Pfad zurück.
    [directory:5] oder [directory:-12] liefern hier den kompletten Pfad zurück.

source_file Default: .
[erforderlich] Datentyp: SOSOptionFileOrPathName Quell-Datei oder -Verzeichnis

Quelldatei oder Quellverzeichnis

Unterstützt Substitution von Job-Parameternamen durch deren Wert, wenn der jeweilige Job-Parametername mit %  und  % geklammert ist.
Beispiel: <param name="source_file" value="%scheduler_file_path%" />
Der Parameter source_file enthält zur Laufzeit den Wert, der im Job-Parameter scheduler_file_path gesetzt ist. Bei der Verzeichnisüberwachung mit Dateiaufträgen wird der Job-Parameter scheduler_file_path mit dem Namen (und Pfad) der Datei gesetzt, die den Auftrag ausgelöst hat.

create_dir Default: false
[optional] Datentyp: SOSOptionBoolean Verzeichnis anlegen

Wenn dieser Parameter den Wert "true" hat, wird überprüft, ob das im Parameter target_file angegebene Verzeichnis existiert.
Wenn es nicht existiert, wird target_file als Verzeichnis angelegt.

Gültige Werte: true, 1, on, yes, y, ja, j und false, 0, off, no, n, nein

file_spec Default: .*
[optional] Datentyp: SOSOptionRegExp Regulärer Ausdruck für die Auswahl der Datei(en)

Regulärer Ausdruck als Dateifilter. Verhält sich CASE_INSENSITIVE.
Nur wirksam, wenn der Parameter file ein Verzeichnis ist.

Einige Bemerkungen über reguläre Ausdrücke wie sie im JobScheduler verwendet werden.

Ein regulärer Ausdruck ist keine wildcard . Um einen Eindruck hinsichtlich der Unterschiede zwischen einer Wildcard und einem regulären Ausdruck zu bekommen, betrachten wir die Wildcard "*.txt", welche alle Dateien mit dem Dateinamen-Erweiterung ".txt" auswählt. Ein regulärer Ausdruck funktioniert auf die gleiche Art und Weise, hier muss die "Wildcard" jedoch die Form "^.*\.txt$" haben. Das sieht ein wenig seltsam aus, aber ist viel flexibler und leistungsfähiger zur Filterung der Dateinamen als das Konzept der Wildcards, wenn man komplexere Namen oder Muster filtern möchte.

Ein weiterer Vorteil regulärer Ausdrücke gegenüber einer "wildcard" ist die Mächtigkeit und gleichzeitige Flexibilität bei der Formulierung von Bedingungen, die zutreffen müssen, damit ein Dateiname (e.g. ein String) ausgewählt wird. Sollen zum Beispiel alle Datein ausgewählt werden, deren Name entweder die Zeichenkette "SUCH" oder "SUEU" oder "LIS1" enhält und nicht am Anfang oder Ende steht, so ist der reguläre Ausdruck wie folgt zu formulieren: ^.*(SUCH|SUEU|LIS1).*$

Die allgemeine Syntax eines regulären Ausdrucks , auch regex or regexp genannt, wird hier beschrieben. Es unterscheidet sich von anderen RegExp Definitionen, z. B. wie für Perl.

Für weitere Informationen regulärer Ausdrücke siehe java.util.regex.Pattern

Beispiele:

source_file file_spec replacing replacement Beispiel Ergebnis Kommentar
./temp .* ~ "" hallo.dat~ hallo.dat -
a.txt - [.]txt _2006-11-24.txt - a_2006-11-24.txt -
./temp .* .* [filename:] [date:yyyy-MM-dd].dat a.txt a.txt2006-11-24.dat [filename:] und [date:] werden substituiert nachdem die Ersetzung durchgeführt wurde
./temp .*[.]txt a.*?b world a.1.b.txt.b world.txt.b .*? : Verwendung von .* im Modus "ungreedy"
abcdefg.txt - ^(ab)cde(fg)[.]txt 123;[date:yyyy-MM-dd] - 123cde2006-11-24.txt ; : Trennzeichen zwischen mehreren Ersetzungsstrings
./temp .*dat$ (ab)_c[0-9]d_(fg) group1;group2 ab_c1d_fg. ab_c2d_fg.dat group1_c1d_group2. ab_c2d_fg.dat Nur die erste Übereinstimmung des Musters wird ersetzt.
./temp .* ^(?:aa|bb)_.{2}_ ([0-9]+_[0-9]+)$ tail aa_QU_061205_222334 aa_QU_tail (?:...) : "?:" Spezifiziert eine "non capturing group". Diese wird nicht ersetzt.
./temp FILE.txt .* [filename:lowercase]_[filename:uppercase]_[filename:] FILE.txt file.txt_FILE.TXT_FILE.txt -

source_file target_file file_spec create_dir replacing replacement Beispiel Ergebnis Kommentar
aaa/bbb/ [directory:]/[date:yyyyMMdd]/ hello.txt true [.]txt [date:yyyy].txt aaa/bbb/hello.txt aaa/bbb/20070316/hello2007.txt Wenn das Verzeichnis aaa/bbb/20070316 noch nicht existiert, wird es angelegt

Für weitere Informationen zu regulären Ausdrücken, siehe java.util.regex.Pattern

recursive Default: false
[optional] Datentyp: SOSOptionBoolean Unterverzeichnisse durchsuchen

Der Parameter gibt an, ob Dateien aus Unterverzeichnissen des Quellverzeichnisses rekursiv übertragen werden.

Nur wirksam, wenn file ein Verzeichnis ist.

Reguläre Ausdrücke, wie sie der Parameter file_spec spezifiziert, werden auf die Dateien in Unterverzeichnissen angewendet.

Gültige Werte: true, 1, on, yes, y, ja, j und false, 0, off, no, n, nein

overwrite Default: true
[optional] Datentyp: SOSOptionBoolean Vorhandene Dateien überschreiben

Der Parameter bestimmt, ob ggf. vorhandene Dateien überschrieben werden dürfen.

Gültige Werte: true, 1, on, yes, y, ja, j und false, 0, off, no, n, nein

gracious Default: false
[optional] Datentyp: SOSOptionGracious Fehlermeldungstoleranz aktivieren

Aktiviert oder deaktiviert Fehlermeldungen, die aufgrund einer leeren Ergebnisliste der im Job auszuführenden Operation ausgelöst werden können, und steuert damit den Ablauf der Schritte (Knoten) in einer Job-Kette.

Gültige Werte: false, 0, off, no, n, nein, none , true, 1, on, yes, y, ja, j und all

Bei einer leeren Ergebnisliste der Operation ergibt sich folgendes Verhalten eines Jobs bzw. einer Job-Kette bezüglich der Meldung eines "Fehlers":

GRACIOUS Standalone-Job JobKetten-Job
false, 0, off, no, n, nein, none error log,
Task error
error log,
set_state error
true, 1, on, yes, y, ja, j no error log,
Task success
no error log,
set_state error
all no error log,
Task success
no error log,
set_state success
replacing Default: ---
[optional] Datentyp: SOSOptionRegExp Regulärer Ausdruck für Text-Ersetzung

Regulärer Ausdruck für Dateinamensersetzung mit dem Wert des Parameters replacement .

Wenn der Ausdruck im Dateinamen gefunden wird, werden die gefundenen Gruppen ersetzt.

a) Für die Ersetzung werden "capturing groups" verwendet. D.h. nur der Inhalt der Gruppen wird ersetzt.

Ersetzungszeichenfolgen werden mit einem Semikolon ";" getrennt. Beispiel:

replacing = (1)abc(12)def(.*)

replacement = A;BB;CCC

Name der Eingabedatei: 1abc12def123.txt

Daraus gebildeter Name der Ausgabedatei: AabcBBdefCCC

b) Werden keine "capturing groups" angegeben, dann wird die gesamte Übereinstimmung ersetzt. Beispiel:

replacing = Hallo

replacement = 1234

Name der Eingabedatei: Hallo_Welt.txt

Daraus gebildeter Name der Ausgabedatei: 1234_Welt.txt

Erfordert den Parameter replacement .

Beispiele:

source_file file_spec replacing replacement Beispiel Ergebnis Kommentar
./temp .* ~ "" hallo.dat~ hallo.dat -
a.txt - [.]txt _2006-11-24.txt - a_2006-11-24.txt -
./temp .* .* [filename:] [date:yyyy-MM-dd].dat a.txt a.txt2006-11-24.dat [filename:] und [date:] werden substituiert nachdem die Ersetzung durchgeführt wurde
./temp .*[.]txt a.*?b world a.1.b.txt.b world.txt.b .*? : Verwendung von .* im Modus "ungreedy"
abcdefg.txt - ^(ab)cde(fg)[.]txt 123;[date:yyyy-MM-dd] - 123cde2006-11-24.txt ; : Trennzeichen zwischen mehreren Ersetzungsstrings
./temp .*dat$ (ab)_c[0-9]d_(fg) group1;group2 ab_c1d_fg. ab_c2d_fg.dat group1_c1d_group2. ab_c2d_fg.dat Nur die erste Übereinstimmung des Musters wird ersetzt.
./temp .* ^(?:aa|bb)_.{2}_ ([0-9]+_[0-9]+)$ tail aa_QU_061205_222334 aa_QU_tail (?:...) : "?:" Spezifiziert eine "non capturing group". Diese wird nicht ersetzt.
./temp FILE.txt .* [filename:lowercase]_[filename:uppercase]_[filename:] FILE.txt file.txt_FILE.TXT_FILE.txt -

source_file target_file file_spec create_dir replacing replacement Beispiel Ergebnis Kommentar
aaa/bbb/ [directory:]/[date:yyyyMMdd]/ hello.txt true [.]txt [date:yyyy].txt aaa/bbb/hello.txt aaa/bbb/20070316/hello2007.txt Wenn das Verzeichnis aaa/bbb/20070316 noch nicht existiert, wird es angelegt

Für weitere Informationen zu regulären Ausdrücken, siehe java.util.regex.Pattern

replacement Default: ---
[optional] Datentyp: SOSOptionString Zeichenkette für Substitution

Zeichenkette für die Ersetzung desjenigen Ausdrucks für Dateinamensbestandteile, der im Wert des Parameters replacing angegeben ist.

Sollen mehrere Gruppen ersetzt werden, dann muss pro Gruppe eine Zeichenkette angegeben werden. Diese werden mit einem Semikolon ";" voneinander getrennt:

replacement: aa;[filename:];bb

Unterstützt Substitution von Masken im Dateinamen mit Formatangaben, die mit [ und ] geklammert sind. Folgende Formate werden unterstützt:

  • [date: date format ]
    date format muss ein gültiger Java Format-String für Datumsangaben sein, z.B.
    yyyyMMddHHmmss , yyyy-MM-dd.HHmmss etc.
  • [filename:]
    Wird durch den ursprünglichen Dateinamen einschließlich Dateiendung ersetzt.
  • [filename:lowercase]
    Wird durch den ursprünglichen Dateinamen einschließlich Dateiendung in Kleinbuchstaben ersetzt.
  • [filename:uppercase]
    Wird durch den ursprünglichen Dateinamen einschließlich Dateiendung in Großbuchstaben ersetzt.

Erfordert den Parameter replacing .

min_file_age Default: 0
[optional] Datentyp: SOSOptionTime Mindestalter einer Datei
Vereinbart das Mindestalter einer oder mehrerer Dateien. Es werden nur Dateien für weitere Operationen berücksichtigt, die mindestens, d.h. auch einschließlich, das angegebene Alter besitzen. Dateien werden nicht in die Resultat-Liste aufgenommen, die jünger sind.

Mögliche Werte sind:
0 (parameter wird ignoriert)
Sekunden
Stunden:Minuten
Stunden:Minuten:Sekunden

Valid values:

Value Description
0 The value of the parameter has no effect and the parameter is not part of the filter.
seconds no of seconds.
hours:minutes 01:15 is to read as "1 hour and 15 minutes".
hours:minutes:seconds 01:15:10 is to read as "1 hour, 15 minutes and 10 seconds".
max_file_age Default: 0
[optional] Datentyp: SOSOptionTime Maximales Alter einer oder mehrerer Dateien

Vereinbart das Höchstalter einer oder mehrerer Dateien. Ist eine Datei älter, dann gilt sie als nicht vorhanden.

Mögliche Werte sind:

0 (parameter wird ignoriert)

Sekunden

Stunden:Minuten

Stunden:Minuten:Sekunden

min_file_size Default: -1
[optional] Datentyp: SOSOptionFileSize minimale Größe einer oder mehrerer Dateien

Vereinbart die minimale Größe einer oder mehrerer Dateien in Bytes: unterschreitet die Größe einer Datei diesen Wert, dann wird diese nicht in das Resultat (result list) übernommen.

Gültige Werte für diesen Parameter sind:

-1 (parameter wird ignoriert)
Zahl (Byte), z.B. 40
ZahlKB, z.B. 5KB (Groß/Kleinschreibung wird ignoriert)
ZahlMB, z.B. 20MB (Groß/Kleinschreibung wird ignoriert)
ZahlGB, z.B. 10GB (Groß/Kleinschreibung wird ignoriert)

max_file_size Default: -1
[optional] Datentyp: SOSOptionFileSize Maximale Größe einer Datei
Vereinbart die maximale Größe einer oder mehrerer Dateien in Bytes: überschreitet die Größe einer der Dateien diesen Wert, dann gilt sie als nicht vorhanden.

Mögliche Werte sind:
-1 (parameter wird ignoriert)
Zahl (Byte), z.B. 40
ZahlKB, z.B. 5KB (Groß/Kleinschreibung wird ignoriert)
ZahlMB, z.B. 20MB (Groß/Kleinschreibung wird ignoriert)
ZahlGB, z.B. 10GB (Groß/Kleinschreibung wird ignoriert)
skip_first_files Default: 0
[optional] Datentyp: SOSOptionInteger Anzahl nicht zu berücksichtigender Dateien

Die angegebene Anzahl Dateien wird vom Anfang der Ergebnismenge (result-list) der Operation entfernt. Auf diese Dateien wirkt sich die Operation damit nicht aus.
Der Parameter wirkt auf die resultierende Menge von min_file_size , min_file_age etc.

Die Reihenfolge der Einträge in der Ergebnis-Menge wird durch die verwendeten Filter-Parameter ermittelt:

  • min_file_age , max_file_age : aufsteigend nach Änderungsdatum der Datei, d.h. jüngere zuerst.
  • min_file_size , max_file_size : aufsteigend nach Größe, d.h. kleinere zuerst
  • sind sowohl die Parameter für Größe und Alter einer Datei angegeben, dann erfolgt die Sortierung aufsteigend nach Alter.

Es darf nur entweder skip_first_files oder skip_last_files verwendet werden.

skip_last_files Default: 0
[optional] Datentyp: SOSOptionInteger number of files to remove from the beginning of the result-set
Die angegebene Anzahl Dateien wird vom Ende der Ergebnismenge entfernt. Auf diese Dateien wirkt sich die weitere Operation nicht aus.
Der Parameter wirkt auf die resultierende Menge von min_file_size, min_file_age etc.

Die Menge ist sortiert entsprechend der verwendeten einschränkenden Parameter:
+ min_file_age, max_file_age: aufsteigend nach Änderungsdatum der Datei, d.h. jüngere zuerst
+ min_file_size, max_file_size: aufsteigend nach Größe, d.h. kleinere zuerst
+ sind sowohl Parameter für Größe wie Alter angegeben, dann erfolgt die Sortierung nach Alter

Es darf nur entweder skip_first_files oder skip_last_files gesetzt sein.
count_files Default: false
[optional] Datentyp: SOSOptionBoolean Anzahl Treffer im Resultat liefern

Wenn dieser Parameter auf " true " gesetzt ist, dann wird die Anzahl der kopierten Dateien in dem Order Parameter " scheduler_SOSFileOperations_file_count " zurückgeliefert.

Gültige Werte: true, 1, on, yes, y, ja, j und false, 0, off, no, n, nein

Der Parameter ist nur dann sinnvoll verwendbar, wenn er in einem Auftrag verwendet wird. Aufträge werden in Job-Ketten benutzt, um die Ausführung der Job-Kette zu starten. In einem "single" Job (standalone job) wird dieser Parameter ohne weiteren Hinweis ignoriert.

create_order Default: false
[optional] Datentyp: SOSOptionBoolean Datei-Auftrag (File-Order) erzeugen

Mit diesem Parameter wird festgelegt, daß entweder für die erste oder für alle Dateien (entsprechend des Wertes des Parameters create_orders_for_all_files ) in der Ergebnisliste ein Datei-Auftrag (file-order) dynamisch erzeugt wird.

Weitere Informationen zu "file-orders" finden Sie unter Directory Monitoring with File Orders .

Gültige Werte: true, 1, on, yes, y, ja, j und false, 0, off, no, n, nein

create_orders_for_all_files Default: false
[optional] Datentyp: SOSOptionBoolean Für jede Datei der Ergebnisliste eine File-Order erstellen

Wenn der Wert dieses Parameters "true" ist und der Parameter create_orders ebenfalls den Wert "true" hat, wird für jeden Dateinamen in der Ergebnisliste eine file-order erzeugt und gestartet.

Dieser Parameter ist nur dann relevant, wennd er Parametercreate_orders den Wert "true" hat.

Gültige Werte: true, 1, on, yes, y, ja, j und false, 0, off, no, n, nein

order_jobchain_name Default: ---
[optional] Datentyp: SOSOptionString Der Name der mit dem Auftrag auszuführenden Jobkette

Mit diesem Parameter wird der Name der Jobkette angegeben, die durch den Auftrag gestartet werden soll.

Es ist zu beachten, daß der Name der Jobkette inclusive einer eventuell vorhandenen Ordnerstruktur angegeben werden muß. Ist die Jobkette "Test" zum Beispiel nicht direkt im Verzeichnis "live" zu finden, sondern in ""live/sample/FileOperations/" so ist als Name der Jobkette für diesen Parameter ""/sample/FileOperations/Test" anzugeben.

This parameter is introduced with version 1.3.11.1090

next_state Default: ---
[optional] Datentyp: SOSOptionJobChainNode Der erste auszuführende Job-Knoten einer Job-Kette

Soll eine Jobkette nicht mit dem ersten Knoten gestartet werden, so kann der Name des Knotens, mit dem die Ausführung der Jobkette stattdessen starten soll, als Wert dieses Parameters angegeben werden.

This parameter is introduced with version 1.3.11.1090

merge_order_parameter Default: false
[optional] Datentyp: SOSOptionBoolean merge_order_parameter: aktuelle Parameter in den zu erzeugenden Auftrag übernehmen

Mit diesem Parameter wird festgelegt, ob die Auftrags-Parameter des aktuellen Auftrages in die Auftragsparameter des zu erzeugenden Auftrages übernommen werden sollen. Sollen die Parameter des aktuellen Auftrages nicht übernommen werden, so wird ein Auftrag, der lediglich die Informationen über die Datei enthält, erzeugt.

on_empty_result_set Default: empty
[optional] Datentyp: SOSOptionJobChainNode Nächsten auszuführenden Job-Knoten bestimmen

Der nächste auszuführende Knoten (Step, Job) in einer Job-Kette wird mit diesem Parameter angegeben, falls die Ergebnis-Liste (result-set) keine Einträge hat. Dies wird dann geschehen, wenn zum Beispiel keine Dateien mit dem entsprechenden regulären Ausdruck gefunden wurden.

This parameter is introduced with version 1.3.11.1090

expected_size_of_result_set Default: 0
[optional] Datentyp: SOSOptionInteger Erwartete Anzahl Treffer in der Ergebnisliste

raise_error_if_result_set_is Default: ---
[optional] Datentyp: SOSOptionRelOp Fehler auslösen abhängig von Größe der Ergebnisliste

Mit diesem relationalen Parameter wird festgelegt, ob ein Fehler ausgelöst werden soll, falls die Anzahl der Treffer in der Ergebnisliste nicht den Erwartungen entspricht.

Ein Beispiel:

Nehmen wir an, dass der Parameter "raise_error_if_result_set_is=ne" angegeben wurde und der Parameter "expected_size_of_result_set=1" wurde ebenso gesetzt. Ist dann die Anzahl der Treffer in der Ergebnisliste ungleich 1, so wird ein Fehler ausgelöst.

This parameter is introduced with version 1.3.11.1090

result_list_file Default: empty
[optional] Datentyp: SOSOptionFileName Dateiname der Ergebnisliste

Wenn mit diesem Parameter ein gültiger Dateiname angegeben wurde so wird die Ergebnisliste in dieser Datei gespeichert.

This parameter is introduced with version 1.3.11.1090

  Return Parameter
scheduler_file_path Default: empty
[optional] Datentyp: SOSOptionFileName Zu verarbeitende Datei des Datei-Auftrages

Bei der Verzeichnisüberwachung mit Dateiaufträgen wird der Job-Parameter scheduler_file_path automatisch mit dem Pfad der Datei gesetzt, die den Auftrag ausgelöst hat.

This parameter is introduced with version 1.3.11.1090

scheduler_file_parent Default: empty
[optional] Datentyp: SOSOptionFileName Pfadname der zu verarbeitenden Datei des Datei-Auftrages

Der Wert dieses Parameters enthält den Namen des Pfades der aktuell zu verarbeitenden Datei.

This parameter is introduced with version 1.3.11.1090

scheduler_file_name Default: empty
[optional] Datentyp: SOSOptionFileName Name der zu verarbeitenden Datei des Datei-Auftrages

tbd

This parameter is introduced with version 1.3.11.1090

scheduler_sosfileoperations_resultset Default: empty
[optional] Datentyp: SOSOptionString Eine Liste aller Dateinamen

This parameter is introduced with version 1.3.11.1090

scheduler_sosfileoperations_resultsetsize Default: empty
[optional] Datentyp: SOSOptionInteger Die Anzahl Elemente in der Ergebnis-Liste

This parameter is introduced with version 1.3.11.1090

scheduler_sosfileoperations_file_count Default: 0
[optional] Datentyp: SOSOptionInteger Liefert die Anzahl Einträge in einem Result-Set

This parameter is introduced with version 1.3.11.1090

  Parameter
XML Code zur Konfiguration des Jobs
  <job
     title = "Copies one or more files"
     order = "yes"  stop_on_error = "no" >

     <description>
       <include file = "jobs/JobSchedulerCopyFile.xml" />
     </description>
    
     <params>
       <param name = "target_file" value = "." />
       <param name = "source_file" value = "." />
       <param name = "create_dir" value = "false" />
       <param name = "file_spec" value = "" />
       <param name = "recursive" value = "" />
       <param name = "overwrite" value = "" />
       <param name = "gracious" value = "false" />
       <param name = "replacing" value = "" />
       <param name = "replacement" value = "" />
       <param name = "min_file_age" value = "0" />
       <param name = "max_file_age" value = "0" />
       <param name = "min_file_size" value = "-1" />
       <param name = "max_file_size" value = "-1" />
       <param name = "skip_first_files" value = "0" />
       <param name = "skip_last_files" value = "0" />
       <param name = "count_files" value = "false" />
       <param name = "create_order" value = "" />
       <param name = "create_orders_for_all_files" value = "" />
       <param name = "order_jobchain_name" value = "" />
       <param name = "next_state" value = "" />
       <param name = "merge_order_parameter" value = "false" />
       <param name = "on_empty_result_set" value = "empty" />
       <param name = "expected_size_of_result_set" value = "" />
       <param name = "raise_error_if_result_set_is" value = "" />
       <param name = "result_list_file" value = "empty" />
     </params>

     <script language   = "java"
             java_class = "sos.scheduler.file.JobSchedulerCopyFile" >
     </script>
</job>
Releases 1.3 version 1.3
2006-11-10 [ letzte Änderung 2009-06-15 ]
Florian Schreiber florian.schreiber@sos-berlin.com
Kommentar
Ressourcen
Dateiname Typ OS Kommentar Source-Dokumentation
com.sos.scheduler-*.jar java all <div> <p> </p> </div> </td> <td class="resource5"> Source: <a href="http://www.sos-berlin.com/doc/doxygen-docs/com.sos.scheduler/html/index.html">com.sos.scheduler</a> </td> </tr> <tr> <td class="resource1"> <span class="sourceName">com.sos.spooler-*.jar</span> </td> <td class="resource2"> <span class="desc">java</span> </td> <td class="resource3"> <span class="desc">all</span> </td> <td class="resource4"> <p> </p> </td> </tr> <tr> <td class="resource1"> <span class="sourceName">com.sos.util-*.jar</span> </td> <td class="resource2"> <span class="desc">java</span> </td> <td class="resource3"> <span class="desc">all</span> </td> <td class="resource4"> <div>Klassen SOSFile, SOSSchedulerLogger</div> </td> <td class="resource5"> Source: <a href="http://www.sos-berlin.com/doc/doxygen-docs/com.sos.util/html/index.html">com.sos.util</a> </td> </tr> </table> </td> </tr> </table> </div> <div id="lang_en"> <table width="100%" class="navi"> <tr> <td nowrap="nowrap"> <a href="#" class="navi" onclick="show_div('documentation','en');return false;">Documentation</a> | <a href="#" class="navi" onclick="show_div('firstRelease','en');return false;">Releases</a> | <a href="#" class="navi" onclick="show_div('resources','en');return false;">Resources</a> | <a href="#" class="navi" onclick="show_div('configuration','en');return false;">Configuration</a> | <a style="white-space:nowrap;" href="#" class="navi" onclick="show_div('all','en');return false;">Show all</a> </td> <td style="text-align:center"> <a style="white-space:nowrap;" href="#" class="navi" onclick="genXML('en');return false;">Generate Job</a>  </td> <td style="text-align:right"> <select size="1" id="languages_en" name="languages_en" onchange="switch_lang(this.value);selected_lang_option(this,'en');"> <option value="de">de</option> <option value="en" selected="true">en</option> </select> </td> </tr> </table> <p /> <table class="box" id="documentation_en"> <tr> <td class="td1"> <span class="section">Documentation</span> </td> <td class="td2"> </td> <td class="td3"> <div> <p> This job copies one or more files. The job belongs to the category "FileOperations". </p> <note language="en" xml:base="./notes/FileOperations.xml"> <p> The JITL category "FileOperations" includes commonly used operations such as copying, renaming, moving and deleting of files. These File Operations are based on Java so they are available on all by JobScheduler supported os-platforms . In comparison with functions such as system-specific operating-system commands like copy, cp, move, mv, del and rm, which behave differently on different operating systems, handling and behavior of the File Operations job-classes is identical on all supported operating systems. </p> <p> Most of the job implementations are supporting "regular expressions" on file names for filtering and searching the files which has to be processed. </p> <p>File operations are often used in job chains that e.g. receive files by FTP, rename the files and transfer them to different locations. </p> </note> <p> <features> <feature> Checking for the existence of files </feature> <feature> Use of regular expressions (much more than a simple wildcard) </feature> <feature> Recurse of subdirectories </feature> <feature> Dynamic creation of target directories </feature> Use of variables for a state-dependent substitution. This technique is useful when inserting the current date into a filename or into a name of a directory. <p> Supports masks for substitution in the file name and directory name with format strings that are enclosed by brackets (<em>[</em> and <em>]</em>). The following format strings are supported: </p> <p> <code> [date: <em>date format</em> ] </code> </p> <p> <em>date format</em> must be a valid Java data format string, e.g. <em>yyyyMMddHHmmss</em> , <em>yyyy-MM-dd.HHmmss</em> etc. </p> <p> For further information on valid values for a dateformat string see <a href="http://docs.oracle.com/javase/1.4.2/docs/api/java/text/SimpleDateFormat.html">SimpleDateFormat</a> </p> <p> An example: </p> <p> <code> <param name="file" value="sample/hello[date:yyyyMMdd].txt" /> </code> </p> <p> On 2050-12-31 the parameter <code>file</code> contains the value <code>"sample/hello20501231.txt"</code> . </p> <title>file-order creation

This job can create file-orders. It can be specified that a file-order is created for the first file of the result set only or for all files of the result set.

For more information on "file-orders" see Directory Monitoring with File Orders .

Creation of a result set

This job is creating a result set. A result set contains the names of all files which are selected as specified by the filter or search criteria. The content of the result set is returned as a parameter, but can be written to a file, too.

Parameters, which are useful for creating a result-set, are

ParameterName Title
raise_error_if_result_set_is
result_list_file
expected_size_of_result_set Erwartete Anzahl Treffer in der Ergebnisliste

on_empty_result_set title not found
scheduler_sosfileoperations_resultset
scheduler_sosfileoperations_resultsetsize

The result set is sorted according to the used filter or search parameters:

  • min_file_age , max_file_age : in ascending order by date of last modification, the newest file first.
  • min_file_size , max_file_size : in ascending order by file size, the smallest file on top.
  • if parameters for file age as well as file size are given the result set is sorted by file age.

Examples for regular expressions used for replacing:

source_file file_spec replacing replacement Example Input Output Comment
./temp .* ~ "" hallo.dat~ hallo.dat -
a.txt - [.]txt _2011-11-24.txt - a_2011-11-24.txt -
./temp .* .* [filename:] [date:yyyy-MM-dd].dat a.txt a.txt2011-11-24.dat [filename:] and [date:] will be substituted after file has been replaced
./temp .*[.]txt a.*?b world a.1.b.txt.b world.txt.b .*? : ungreedy usage of .*
abcdefg.txt - ^(ab)cde(fg)[.]txt 123;[date:yyyy-MM-dd] - 123cde2011-11-24.txt ; : separator between multiple replacements
./temp .*dat$ (ab)_c[0-9]d_(fg) group1;group2 ab_c1d_fg. ab_c2d_fg.dat group1_c1d_group2. ab_c2d_fg.dat Only the first pattern match is replaced
./temp .* ^(?:aa|bb)_. {2}_([0-9]+_[0-9]+)$ tail aa_QU_061205_222334 aa_QU_tail (?:...) : "?:" specifies a non capturing group. The file will not be replaced.
./temp FILE.txt .* [filename:lowercase]_[filename:uppercase]_[filename:] FILE.txt file.txt_FILE.TXT_FILE.txt -

source_file target_file file_spec create_dir replacing replacement Example input Output Comment
aaa/bbb/ [directory:]/[date:yyyyMMdd]/ hello.txt true [.]txt [date:yyyy].txt aaa/bbb/hello.txt aaa/bbb/20070316/hello2007.txt If the directory aaa/bbb/20070316 does not yet exist it will be created

For further information see java.util.regex.Pattern

Some remarks on regular expression, used in JobScheduler.

A regular expression is not a wildcard . To get an impression of the differences one have a look on the meaning of the wildcard *.txt, which will select all filenames with the filename-extension ".txt". A regular expression to match, e.g. works the same way, this "wildcard" must look like "^.*\.txt$". That looks a little bit strange but it is much more flexible and powerfull on filtering filenames than the concept of wildcards, if one want to filter more complex names or pattern.

The general syntax of an regular expression, also referred to as regex or regexp, is described here. It is different to other RegExp definitions, e.g. as for Perl.

For further information on regular expressions see java.util.regex.Pattern

Class Name/ Title JobSchedulerCopyFile  Copies one or more files
  Order Control This job is triggered by orders or by standard job starts.
  Tasks unbounded
  Script
Configuration   Creation of a result set

This job is creating a result set. A result set contains the names of all files which are selected as specified by the filter or search criteria. The content of the result set is returned as a parameter, but can be written to a file, too.

Parameters, which are useful for creating a result-set, are

ParameterName Title
raise_error_if_result_set_is
result_list_file
expected_size_of_result_set Erwartete Anzahl Treffer in der Ergebnisliste

on_empty_result_set title not found
scheduler_sosfileoperations_resultset
scheduler_sosfileoperations_resultsetsize

The result set is sorted according to the used filter or search parameters:

  • min_file_age , max_file_age : in ascending order by date of last modification, the newest file first.
  • min_file_size , max_file_size : in ascending order by file size, the smallest file on top.
  • if parameters for file age as well as file size are given the result set is sorted by file age.

file-order creation

This job can create file-orders. It can be specified that a file-order is created for the first file of the result set only or for all files of the result set.

For more information on "file-orders" see Directory Monitoring with File Orders .

Some remarks on regular expression, used in JobScheduler.

A regular expression is not a wildcard . To get an impression of the differences one have a look on the meaning of the wildcard *.txt, which will select all filenames with the filename-extension ".txt". A regular expression to match, e.g. works the same way, this "wildcard" must look like "^.*\.txt$". That looks a little bit strange but it is much more flexible and powerfull on filtering filenames than the concept of wildcards, if one want to filter more complex names or pattern.

The general syntax of an regular expression, also referred to as regex or regexp, is described here. It is different to other RegExp definitions, e.g. as for Perl.

For further information on regular expressions see java.util.regex.Pattern

  Parameters File Order CreationResult Set
target_file Default: .
[required] DataType: SOSOptionFileOrPathName Target-file or -folder

Target file or directory

If the target_file is not specified, then the directory path of source_file is used as target.

Supports masks for substitution in the file name and directory name with format strings that are enclosed by brackets ([ and ]). The following format strings are supported:

[date: date format ]

date format must be a valid Java data format string, e.g. yyyyMMddHHmmss , yyyy-MM-dd.HHmmss etc.

For further information on valid values for a dateformat string see SimpleDateFormat

An example:

<param name="file" value="sample/hello[date:yyyyMMdd].txt" />

On 2050-12-31 the parameter file contains the value "sample/hello20501231.txt" .

source_file Default: .
[required] DataType: SOSOptionFileOrPathName Source-file or -folder

Source file or directory

create_dir Default: false
[optional] DataType: SOSOptionBoolean Create folder

If enabled the folder, which is specified as value of the parameter target_file, is checked for existence.
If target_file does not exist target_file will be created as a directory.

Valid values: true, 1, on, yes, y, ja, j and false, 0, off, no, n, nein.

file_spec Default: .*
[optional] DataType: SOSOptionRegExp Regular Expression for filename filtering

Regular Expression for file filtering. The behaviour is CASE_INSENSITIVE.
Only effective if the parameter file is a directory.

Some remarks on regular expression, used in JobScheduler.

A regular expression is not a wildcard . To get an impression of the differences one have a look on the meaning of the wildcard *.txt, which will select all filenames with the filename-extension ".txt". A regular expression to match, e.g. works the same way, this "wildcard" must look like "^.*\.txt$". That looks a little bit strange but it is much more flexible and powerfull on filtering filenames than the concept of wildcards, if one want to filter more complex names or pattern.

The general syntax of an regular expression, also referred to as regex or regexp, is described here. It is different to other RegExp definitions, e.g. as for Perl.

For further information on regular expressions see java.util.regex.Pattern

Examples for regular expressions used for replacing:

source_file file_spec replacing replacement Example Input Output Comment
./temp .* ~ "" hallo.dat~ hallo.dat -
a.txt - [.]txt _2011-11-24.txt - a_2011-11-24.txt -
./temp .* .* [filename:] [date:yyyy-MM-dd].dat a.txt a.txt2011-11-24.dat [filename:] and [date:] will be substituted after file has been replaced
./temp .*[.]txt a.*?b world a.1.b.txt.b world.txt.b .*? : ungreedy usage of .*
abcdefg.txt - ^(ab)cde(fg)[.]txt 123;[date:yyyy-MM-dd] - 123cde2011-11-24.txt ; : separator between multiple replacements
./temp .*dat$ (ab)_c[0-9]d_(fg) group1;group2 ab_c1d_fg. ab_c2d_fg.dat group1_c1d_group2. ab_c2d_fg.dat Only the first pattern match is replaced
./temp .* ^(?:aa|bb)_. {2}_([0-9]+_[0-9]+)$ tail aa_QU_061205_222334 aa_QU_tail (?:...) : "?:" specifies a non capturing group. The file will not be replaced.
./temp FILE.txt .* [filename:lowercase]_[filename:uppercase]_[filename:] FILE.txt file.txt_FILE.TXT_FILE.txt -

source_file target_file file_spec create_dir replacing replacement Example input Output Comment
aaa/bbb/ [directory:]/[date:yyyyMMdd]/ hello.txt true [.]txt [date:yyyy].txt aaa/bbb/hello.txt aaa/bbb/20070316/hello2007.txt If the directory aaa/bbb/20070316 does not yet exist it will be created

For further information see java.util.regex.Pattern

recursive Default: false
[optional] DataType: SOSOptionBoolean Include subfolders in operation

This parameter specifies wether files from subdirectories should be included recursively.

Only effective if file is a directory.

Regular expression matches apply to files from subdirectories as specified by the parameter file_spec .

Valid values: true, 1, on, yes, y, ja, j and false, 0, off, no, n, nein.

overwrite Default: true
[optional] DataType: SOSOptionBoolean Overwrite existing files

This parameter specifies wether existing files can be overwritten.

Valid values: true, 1, on, yes, y, ja, j and false, 0, off, no, n, nein.

gracious Default: false
[optional] DataType: SOSOptionGracious Specify error message tolerance

Enables or disables error messages that are caused by an empty result-set, which is the result of an operation, executed by the job. Therefore this parameter can control the sequence of nodes or states in a job-chain.

Valid values:

false, 0, off, no, n, nein, none , true, 1, on, yes, y, ja, j and all.

The following rules apply when the result-set is empty:

GRACIOUS Standalone-Job Order-Job
false, 0, off, no, n, nein, none error log,
Task error
error log,
set_state error
true, 1, on, yes, y, ja, j no error log,
Task success
no error log,
set_state error
all no error log,
Task success
no error log,
set_state success

For example, the setting "gracious=all" will suppress all errors regarding an empty result-set and will terminate a Job (standalone and inside a jobchain) as it would be without errors.

replacing Default: ---
[optional] DataType: SOSOptionRegExp Regular expression for filename replacement

Regular expression for filename replacement with the value of the parameter replacement .

If the expression matches the filename then the groups found are replaced.

a) For replacement "capturing groups" are used. Only the content of the capturing groups is replaced.

Replacements are separated by a semicolon ";". Example:

replacing = (1)abc(12)def(.*)
replacement = A;BB;CCC
Input file: 1abc12def123.txt
Output file: AabcBBdefCCC

b) If no "capturing groups" are specified then the entire match is replaced. Example:
replacing = Hello
replacement = 1234
Input file: Hello_World.txt
Output file: 1234_World.txt

Requires the parameter replacement to be specified.

Examples for regular expressions used for replacing:

source_file file_spec replacing replacement Example Input Output Comment
./temp .* ~ "" hallo.dat~ hallo.dat -
a.txt - [.]txt _2011-11-24.txt - a_2011-11-24.txt -
./temp .* .* [filename:] [date:yyyy-MM-dd].dat a.txt a.txt2011-11-24.dat [filename:] and [date:] will be substituted after file has been replaced
./temp .*[.]txt a.*?b world a.1.b.txt.b world.txt.b .*? : ungreedy usage of .*
abcdefg.txt - ^(ab)cde(fg)[.]txt 123;[date:yyyy-MM-dd] - 123cde2011-11-24.txt ; : separator between multiple replacements
./temp .*dat$ (ab)_c[0-9]d_(fg) group1;group2 ab_c1d_fg. ab_c2d_fg.dat group1_c1d_group2. ab_c2d_fg.dat Only the first pattern match is replaced
./temp .* ^(?:aa|bb)_. {2}_([0-9]+_[0-9]+)$ tail aa_QU_061205_222334 aa_QU_tail (?:...) : "?:" specifies a non capturing group. The file will not be replaced.
./temp FILE.txt .* [filename:lowercase]_[filename:uppercase]_[filename:] FILE.txt file.txt_FILE.TXT_FILE.txt -

source_file target_file file_spec create_dir replacing replacement Example input Output Comment
aaa/bbb/ [directory:]/[date:yyyyMMdd]/ hello.txt true [.]txt [date:yyyy].txt aaa/bbb/hello.txt aaa/bbb/20070316/hello2007.txt If the directory aaa/bbb/20070316 does not yet exist it will be created

For further information see java.util.regex.Pattern

replacement Default: ---
[optional] DataType: SOSOptionString String for Replacement

String for replacement of matching character sequences within file names that are specified with the value of the parameter replacing.

If multiple "capturing groups" shall be replaced then one replacement string per group has to be specified. These strings are separated by a semicolon ";":

replacement: aa;[filename:];bb

Supports masks for substitution in the file name with format strings that are enclosed with [ and ] . The following format strings are supported:

  • [date: date format ]
    date format must be a valid Java data format string, e.g.
    yyyyMMddHHmmss , yyyy-MM-dd.HHmmss etc.
  • [filename:]
    Will be substituted by the original file name including the file extension.
  • [filename:lowercase]
    Will be substituted by the original file name including the file extension with all characters converted to lower case.
  • [filename:uppercase]
    Will be substituted by the original file name including the file extension with all characters converted to upper case.

Requires the parameter replacing to be specified.

min_file_age Default: 0
[optional] DataType: SOSOptionTime minimum age of a file

Specifies the minimum age of a files. If the file(s) is newer then it is classified as non-existing, it will be not included in the result-list.

Valid values:

Value Description
0 The value of the parameter has no effect and the parameter is not part of the filter.
seconds no of seconds.
hours:minutes 01:15 is to read as "1 hour and 15 minutes".
hours:minutes:seconds 01:15:10 is to read as "1 hour, 15 minutes and 10 seconds".
max_file_age Default: 0
[optional] DataType: SOSOptionTime maximum age of a file

Specifies the maximum age of a file. If a file is older, then it is deemed not to exist, it will be not included in the result-list.

Valid values:

Value Description
0 The value of the parameter has no effect and the parameter is not part of the filter.
seconds no of seconds.
hours:minutes 01:15 is to read as "1 hour and 15 minutes".
hours:minutes:seconds 01:15:10 is to read as "1 hour, 15 minutes and 10 seconds".
min_file_size Default: -1
[optional] DataType: SOSOptionFileSize minimum size of one or multiple files

Specifies the minimum size of one or multiple files in bytes: should the size of one of the files fall below this value, then it is not included in the result list of the operation.

valid values for file size are

Value Description
-1 The value of the parameter has no effect and the parameter is not part of the filter.
number a number stand for the size in byte, e.g. 40 means 40 bytes.
numberKB a number with the chars "KB" stand for the size in kilobyte.
numberMB a number with the chars "MB" stand for the size in megabyte.
numberGB a number with the chars "GB" stand for the size in gigabyte.
max_file_size Default: -1
[optional] DataType: SOSOptionFileSize maximum size of a file
Specifies the maximum size of a file in bytes: should the size of one of the files exceed this value, then it is classified as non-existing.

valid values for file size are

Value Description
-1 The value of the parameter has no effect and the parameter is not part of the filter.
number a number stand for the size in byte, e.g. 40 means 40 bytes.
numberKB a number with the chars "KB" stand for the size in kilobyte.
numberMB a number with the chars "MB" stand for the size in megabyte.
numberGB a number with the chars "GB" stand for the size in gigabyte.
skip_first_files Default: 0
[optional] DataType: SOSOptionInteger number of files to remove from the top of the result-set

The number of files are removed from the beginning of the set resulting by min_file_size , min_file_age etc. These files are excluded from further operations.

The result set is sorted according to the used filter parameters:

  • min_file_age , max_file_age : in ascending order by date of last modification, the newest file first.
  • min_file_size , max_file_size : in ascending order by file size, the smallest file on top.
  • if parameters for file age as well as file size are given the result set is sorted by file age.

Only either skip_first_files or skip_last_files is allowed to be set at the same time.

skip_last_files Default: 0
[optional] DataType: SOSOptionInteger number of files to remove from the bottom of the result-set

The number of files are removed from the end of the result set by min_file_size , min_file_age etc. These files are excluded from further operations.

The result set is sorted according to the used constraining parameters:

  • min_file_age , max_file_age : in ascending order by date of last modification, the newest file first.
  • min_file_size , max_file_size : in ascending order by file size, the smallest file first.
  • if parameters for file age as well as file size are given the set is sorted by file age.
Only either skip_first_files or skip_last_files is allowed to be set at one time.

count_files Default: false
[optional] DataType: SOSOptionBoolean Return the size of resultset

If this parameter is set true " true " the number of matches is returned in the order parameter " scheduler_SOSFileOperations_file_count ".

Valid values: true, 1, on, yes, y, ja, j and false, 0, off, no, n, nein.

create_order Default: false
[optional] DataType: SOSOptionBoolean Activate file-order creation

With this parameter it is possible to specify, that for all filenames in the resultlist or for the first file only (see create_orders_for_all_files ) a file-order has to be created and launched.

For more information on "file-orders" see Directory Monitoring with File Orders .

Valid values: true, 1, on, yes, y, ja, j and false, 0, off, no, n, nein.

create_orders_for_all_files Default: false
[optional] DataType: SOSOptionBoolean Create a file-order for every file in the result-list

If this parameter is set to "true", for each file which which is in the result set, a file-order is created and started.

This parameter is in effect only if the parameter create_orders has the value "true".


Valid values: true, 1, on, yes, y, ja, j and false, 0, off, no, n, nein.

order_jobchain_name Default: ---
[optional] DataType: SOSOptionString The name of the jobchain which belongs to the order

The name of the jobchain which has to be launched by the order is the value of this parameter.

One must take into account, that the name of the jobchain must contain a subfolder structure if the jobchain is not in the folder "live". An example: the jobchain "Test" is located in "live/sample/FileOperations/". The value which has to be specfied is then "/sample/FileOperations/Test".

This parameter is introduced with version 1.3.11.1090

next_state Default: ---
[optional] DataType: SOSOptionJobChainNode The first node to execute in a jobchain

The name of the node of a jobchain, with which the execution of the chain must be started, is the value of this parameter.

This parameter is introduced with version 1.3.11.1090

merge_order_parameter Default: false
[optional] DataType: SOSOptionBoolean merge_order_parameter: merge actual order parameter into new created order

This parameter specifies, that the order, which has to be created, will be extended by the parameters of the actual order.

on_empty_result_set Default: empty
[optional] DataType: SOSOptionJobChainNode Set next node on empty result set

The next Node (Step, Job) to execute in a JobChain can be set with this parameter. The value of the parameter is a (valid) node-name of the current JobChain. In case of an empty result-set, e.g. due to non existent files, the current job will end without an errors and the JobChain will continue with the name of the node which is given as the value of this parameter.

This parameter is introduced with version 1.3.11.1090

expected_size_of_result_set Default: 0
[optional] DataType: SOSOptionInteger number of expected hits in result-list

raise_error_if_result_set_is Default: ---
[optional] DataType: SOSOptionRelOp raise error on expected size of result-set

With this parameter it is possible to raise an error if the quantity of hits of the result-list is according to the value of this parameter.

An example:

Assuming, that the parameter "raise_error_if_result_set_is=ne" is defined and the parameter "expected_size_of_result_set=1" is specified as well. If the number of hits is not equal to "1" an error will raised.

This parameter is introduced with version 1.3.11.1090

result_list_file Default: empty
[optional] DataType: SOSOptionFileName Name of the result-list file

If the value of this parameter specifies a valid filename the result-list will be written to this file.

This parameter is introduced with version 1.3.11.1090

  Return Parameters
scheduler_file_path Default: empty
[optional] DataType: SOSOptionFileName file to process for a file-order

Using Directory Monitoring with File Orders the job parameter scheduler_file_path contains automatically the path of the file that triggered the order.

This parameter is introduced with version 1.3.11.1090

scheduler_file_parent Default: empty
[optional] DataType: SOSOptionFileName pathname of the file to process for a file-order

This paramters contains the pathname (parent) of the file which is currently processed.

This parameter is introduced with version 1.3.11.1090

scheduler_file_name Default: empty
[optional] DataType: SOSOptionFileName Name of the file to process for a file-order

The name, without foldername, of the file which is currently processed.

This parameter is introduced with version 1.3.11.1090

scheduler_sosfileoperations_resultset Default: empty
[optional] DataType: SOSOptionString The result of the operation as a list of items

This parameter is introduced with version 1.3.11.1090

scheduler_sosfileoperations_resultsetsize Default: empty
[optional] DataType: SOSOptionInteger The amount of hits in the result set of the operation

This parameter is introduced with version 1.3.11.1090

scheduler_sosfileoperations_file_count Default: 0
[optional] DataType: SOSOptionInteger Return the size of the result set after a file operation

This parameter is introduced with version 1.3.11.1090

  Parameters
XML Code to configurate the job
  <job
     title = "Copies one or more files"
     order = "yes"  stop_on_error = "no" >

     <description>
       <include file = "jobs/JobSchedulerCopyFile.xml" />
     </description>
    
     <params>
       <param name = "target_file" value = "." />
       <param name = "source_file" value = "." />
       <param name = "create_dir" value = "false" />
       <param name = "file_spec" value = "" />
       <param name = "recursive" value = "" />
       <param name = "overwrite" value = "" />
       <param name = "gracious" value = "false" />
       <param name = "replacing" value = "" />
       <param name = "replacement" value = "" />
       <param name = "min_file_age" value = "0" />
       <param name = "max_file_age" value = "0" />
       <param name = "min_file_size" value = "-1" />
       <param name = "max_file_size" value = "-1" />
       <param name = "skip_first_files" value = "0" />
       <param name = "skip_last_files" value = "0" />
       <param name = "count_files" value = "false" />
       <param name = "create_order" value = "" />
       <param name = "create_orders_for_all_files" value = "" />
       <param name = "order_jobchain_name" value = "" />
       <param name = "next_state" value = "" />
       <param name = "merge_order_parameter" value = "false" />
       <param name = "on_empty_result_set" value = "empty" />
       <param name = "expected_size_of_result_set" value = "" />
       <param name = "raise_error_if_result_set_is" value = "" />
       <param name = "result_list_file" value = "empty" />
     </params>

     <script language   = "java"
             java_class = "sos.scheduler.file.JobSchedulerCopyFile" >
     </script>
</job>
Releases 1.3 version 1.3
2006-11-10 [ Last Changes 2009-06-15 ]
Florian Schreiber florian.schreiber@sos-berlin.com
Comment
Resources
Filename Type OS Comment Source documentation
com.sos.scheduler-*.jar java all <div> <p> </p> </div> </td> <td class="resource5"> Source: <a href="http://www.sos-berlin.com/doc/doxygen-docs/com.sos.scheduler/html/index.html">com.sos.scheduler</a> </td> </tr> <tr> <td class="resource1"> <span class="sourceName">com.sos.spooler-*.jar</span> </td> <td class="resource2"> <span class="desc">java</span> </td> <td class="resource3"> <span class="desc">all</span> </td> <td class="resource4"> <p> </p> </td> </tr> <tr> <td class="resource1"> <span class="sourceName">com.sos.util-*.jar</span> </td> <td class="resource2"> <span class="desc">java</span> </td> <td class="resource3"> <span class="desc">all</span> </td> <td class="resource4"> <div>Classes SOSFile, SOSSchedulerLogger</div> </td> <td class="resource5"> Source: <a href="http://www.sos-berlin.com/doc/doxygen-docs/com.sos.util/html/index.html">com.sos.util</a> </td> </tr> </table> </td> </tr> </table> </div> </body> </html>