Dokumentation   JADE-Client  Client for JobScheduler Advanced Data Exchange
Das Programm wird als synchrone File Transfer Lösung eingesetzt. Asynchroner Transfer wird von den entsprechenden Standard-Jobs im Job Scheduler unterstützt.

File Transfer Features

  • Senden und Empfangen von Dateien via FTP von/zu Server Systemen.
  • Senden und Empfangen von Dateien via SFTP von/zu Server Systemen.
  • Kommandos per SSH auf einem entfernten Rechner ausführen.
  • Dateien per FTP oder SFTP zu einem "jump host" versenden und von dort via FTP oder SFTP auf ein Zielsystem weiterleiten. Unterschiedliche Protokolle können zwischen lokalem System und "jump host" sowie zwischen "jump host" und Zielsystem verwendet werden.
  • Dateien von einem entfernten Server System via FTP und SFTP auf einem "jump host" annehmen und per FTP oder SFTP auf das lokale System transferieren. Unterschiedliche Protokolle können für den Transfer zwischen den Systemen eingesetzt werden.
  • Authentifizierung per Kennwort und per privatem/öffentlichem Schlüssel für Transfers via SFTP werden unterstützt.
  • Die Parametrisierung erfolgt per Kommandozeile und Konfigurationsdateien.
  • Alle Parameter werden ausschließlich am lokalen System angegeben, dies gilt in gleicher Weise bei Verwendung eines "jump host", da lokale Parameter dynamisch an den "jump host" weitergeleitet werden.
  • Protokollierung und Fehlerbehandlung: Fehler bei der Übertragung einzelner Dateien werden erkannt.
  • Sicherheit: am "jump host" werden keine Konfigurationsdateien vorgehalten. (außer privaten Schlüsseldateien die für den Zugriff auf das Zielsystem benötigt werden). Am "jump host" werden keine Kennwörter gespeichert. Es werden keine Proxy-Funktionalitäten der Server Systeme vorausgesetzt.


Spezielle Transfer Features

  • Teilqualifizierter Transfer von Dateien

    Alternativ zum Transfer einer einzelnen Datei können mit regulären Ausdrücken Dateimengen für den Transfer selektiert werden.
  • Rekursiver Transfer von Dateien

    Es können Dateien aus beliebigen Unterverzeichnissen anhand von regulären Ausdrücken für die Übertragung selektiert werden. Unterverzeichnisse werden im lokalen Dateisystem eingerichtet, falls erforderlich.
  • Atomare Übertragung

    Dateien können während des Transfers umbenannt werden, um sie nach vollständiger Übertragung atomar in einem Verzeichnis erscheinen zu lassen. Dies ist z.B. relevant, wenn Verzeichnisse überwacht werden und ausschließlich vollständig übertragene Dateien weiterverarbeitet werden sollen.
  • Vollständigkeitsprüfung übertragener Dateien

    Die Prüfung beinhaltet, dass nach dem Transfer die Größen der übertragenen Datei und der Anzahl übertragener Byte geprüft werden sowie die wiederholte Übertragung von Dateien, um sicherzustellen, dass Eingabedateien nicht während der Dauer des Transfers verändert wurden.
  • Behandlung leerer Dateien

    Zur Behandlung leerer Dateien stehen eine Reihe von Optionen zur Verfügung, z.B. Ausschluß leerer Dateien, Zulasssen einzelner leerer Dateien, Benachrichtigung per E-Mail beim Transfer leerer Dateien.
  • Umbenennen von Dateien

    Nach der Übertragung können Dateien anhand von regulären Ausdrücken umbenannt werden.
  • Verwendung alternativer Zugangsdaten

    Für den Fall, dass ein Verbindungsaufbau bzw. eine Anmeldung an einem FTP Server fehlschlägt, kann eine alternative Zugangskonfiguration angegeben werden, die bspw. im Fehlerfall einen Backup FTP Server anspricht.

    Primäre und alternative Zugangsdaten werden additiv gehandhabt, d.h. es müssen nur diejenigen alternativen Zugangsparameter angegeben werden, die sich von den primären Zugangsparametern unterscheiden.
  • Unterstützung für UNC Pfade als Zielverzeichnisse

    Dateien können direkt von einem FTP/SFTP Server zu einem entfernten Server-System übertragen werden.
  • Führung einer Transfer-Historie

    Optional wird für jeden Transfer eine Historie geführt. Historieneinträge werden optional an einen Job Scheduler signalisiert, der sie in einer zentralen Datenbank konsolidiert und für Auskünfte zur Verfügung stellt.


Systemvoraussetzungen

  • Java Runtime Environment JRE 1.4 und höher
  • Für die "jump host" Functionalität muss das Programm am "jump host" und am lokalen System installiert sein.


Start Skript

  • Windows: jade.cmd
                                set CLASSPATH_BASE=.
                                java -classpath
                                "%CLASSPATH_BASE%/commons-net-1.2.2.jar;%CLASSPATH_BASE%/sos.net.jar;
                                %CLASSPATH_BASE%/sos.settings.jar;%CLASSPATH_BASE%/sos.util.jar;
                                %CLASSPATH_BASE%/trilead-ssh2-build211.jar" com.sos.jade.SOSJadeEngineMain
                                %*
                            
  • Unix: jade.sh
     
                                CLASSPATH_BASE=.
                                JAVA_BIN="java"
                                "$JAVA_BIN" -classpath
                                "$CLASSPATH_BASE/commons-net-1.2.2.jar:$CLASSPATH_BASE/sos.net.jar:
                                $CLASSPATH_BASE/sos.settings.jar:$CLASSPATH_BASE/sos.util.jar:
                                $CLASSPATH_BASE/trilead-ssh2-build211.jar" com.sos.jade.SOSJadeEngineMain
                                 $*
                            


Kommandozeilenparameter

  • Generell
                                Usage: com.sos.jade.SOSJadeEngineMain 
                               -
     →operation
    
                                = -
                                
     →settings
    
                                = -
                                
     →profile
    
                                =
                                -verbose=
                                -
                                
     →operation
    
                                =[send|receive|execute|remove] FTP/SFTP operation
                                -
                                
     →settings
    
                                =[file] Configuration file
                                -
                                
     →profile
    
                                =[profile] Section/Profile for FTP/SFTP settings
                                in configuration file
                                -verbose=[1..9]
                                Verbosity level
                            
  • Kommandozeilenparameter und Konfigurationsdateien

    Das Programm kann Parameter direkt von der Kommandozeile oder aus einer Konfigurationsdatei lesen. Bei Angabe an der Kommandozeile wird jeweils ein Bindestrich vor den Parameter gesetzt:

    jade.sh -  →operation =send -  →protocol =ftp -  →host =localhost -  →port =21 -  →local_dir =/tmp ...

    Bei Verwendung einer Konfigurationsdatei werden Profile als Sektionen eingerichtet und einzelne Parameter als Paare aus Namen und Wert aufgeführt, z.B. in einer Datei settings.ini :

    [sample_transfer]
    protocol = ftp
    host = localhost
    port = 21
    local_dir = /tmp
    ...


    An der Kommandozeile wird der Name der Einstellungsdatei und des Profils angegeben:

    jade.sh -  →operation =send -  →settings =settings.ini -  →profile =sample_transfer ...

    Parameter aus einer Konfigurationsdatei und an der Kommandozeile können gemischt verwendet werden, dabei haben Parameter an der Kommandozeile Vorrang.
Class Name/ Titel JADE-Client  Client for JobScheduler Advanced Data Exchange
  AuftragssteuerungEin Auftrag aktiviert die Verarbeitung einer Job-Kette. Er enthält Parameter für einen oder mehrere Jobs einer Job-Kette. Dieser Job läuft auftragsgesteuert ab.
  SkriptEin Skript enthält die Implementierung eines Jobs. Skripte können mit den Methoden des Job Scheduler API in den Sprachen Java, Javascript, Perlscript und VBScript implementiert werden. Alternativ zur Implementierung mit Skripten können Jobs zur Ausführung beliebiger Programme und Kommandodateien konfiguriert werden.

Konfiguration  


  Parameter

account
[optional]
account
[optional]

DataType: SOSOptionString
Default-Value: ---

DataType: SOSOptionString
Default-Value: ---

alternative_account
[optional]
alternative_account
[optional] Abrechnungsinformation

Optionale Kennung zur Anmeldung an einem (FTP) Server.

Die Account-information wird normalerweise zusätzlich zu der üblichen Autentifizierung (z.B. durch User-ID und Passwort) verwendet und ist vom Server-Administrator zu konfigurieren.

Alternativer Parameter für den primären Parameter  →account .

Die alternativen Parameter werden nur verwendet, wenn die Verbindung zum (FTP/SFTP) Server fehlschlägt, z.B. der Server nicht verfügbar ist, die Zugangsdaten ungültig sind etc.

Default-Value: ---

Default-Value: ---

alternative_host [optional] alternative_host [optional]
Alternativer Parameter für den primären Parameter  →host .

Die alternativen Parameter werden nur verwendet, wenn die Verbindung zum (FTP/SFTP) Server fehlschlägt, z.B. der Server nicht verfügbar ist, die Zugangsdaten ungültig sind etc.

DataType: SOSOptionHostName
Default-Value: ---

DataType: SOSOptionHostName
Default-Value: ---

alternative_passive_mode [optional] alternative_passive_mode [optional]

Alternativer Parameter für den primären Parameter  →passive_mode .

Die alternativen Parameter werden nur verwendet, wenn die Verbindung zum (FTP/SFTP) Server fehlschlägt, z.B. der Server nicht verfügbar ist, die Zugangsdaten ungültig sind etc.

Default-Value: ---

Default-Value: ---

alternative_password [optional] alternative_password [optional]
Alternativer Parameter für den primären Parameter  →password .

Die alternativen Parameter werden nur verwendet, wenn die Verbindung zum (FTP/SFTP) Server fehlschlägt, z.B. der Server nicht verfügbar ist, die Zugangsdaten ungültig sind etc.

Default-Value: ---

Default-Value: ---

alternative_port [optional] alternative_port [optional]
Alternativer Parameter für den primären Parameter  →port .

Die alternativen Parameter werden nur verwendet, wenn die Verbindung zum (FTP/SFTP) Server fehlschlägt, z.B. der Server nicht verfügbar ist, die Zugangsdaten ungültig sind etc.

DataType: SOSOptionPortNumber
Default-Value: ---

DataType: SOSOptionPortNumber
Default-Value: ---

alternative_remote_dir [optional] alternative_remote_dir [optional]
Alternativer Parameter für den primären Parameter  →remote_dir .

Die alternativen Parameter werden nur verwendet, wenn die Verbindung zum (FTP/SFTP) Server fehlschlägt, z.B. der Server nicht verfügbar ist, die Zugangsdaten ungültig sind etc.

Default-Value: ---

Default-Value: ---

alternative_transfer_mode [optional] alternative_transfer_mode [optional]
Alternativer Parameter für den primären Parameter  →transfer_mode .

Die alternativen Parameter werden nur verwendet, wenn die Verbindung zum (FTP/SFTP) Server fehlschlägt, z.B. der Server nicht verfügbar ist, die Zugangsdaten ungültig sind etc.

Default-Value: ---

Default-Value: ---

alternative_user [optional] alternative_user [optional]
Alternativer Parameter für den primären Parameter  →user .

Die alternativen Parameter werden nur verwendet, wenn die Verbindung zum (FTP/SFTP) Server fehlschlägt, z.B. der Server nicht verfügbar ist, die Zugangsdaten ungültig sind etc.

Default-Value: ---

Default-Value: ---

append_files [optional] append_files [optional]

DataType: SOSOptionBoolean
Default-Value: false

DataType: SOSOptionBoolean
Default-Value: false

atomic_prefix [optional] atomic_prefix [optional]
Der Parameter bestimmt, ob Zieldateien zunächst mit einem prefix, z.B. "~", erzeugt und nach vollständiger Übertragung in den endgültigen Zieldateinamen umbenannt werden, damit die Dateien atomar im Verzeichnis erscheinen.

Als Wert des Parameters wird eine Zeichenfolge (oder ein Zeichen) für das temporäre prefix angegeben werden.

Diese Einstellung wird empfohlen, falls Zielverzeichnisse von einer Applikation oder mit einem JobScheduler für Dateiaufträge überwacht werden.

DataType: SOSOptionString
Default-Value: ---

DataType: SOSOptionString
Default-Value: ---

atomic_suffix [optional] atomic_suffix [optional]
Der Parameter bestimmt, ob Zieldateien zunächst mit einem Suffix, z.B. "~", erzeugt und nach vollständiger Übertragung in den Zieldateinamen umbenannt werden, damit die Dateien atomar im Verzeichnis erscheinen.

Als Wert des Parameters kann das temporäre Suffix angegeben werden.

Diese Einstellung wird empfohlen, falls Zielverzeichnisse von einer Applikation oder mit einem Job Scheduler für Dateiaufträge überwacht werden.

DataType: SOSOptionString
Default-Value: ---

DataType: SOSOptionString
Default-Value: ---

banner_footer Name der Template-Datei für Protokoll-Ende [optional] banner_footer Name der Template-Datei für Protokoll-Ende [optional] Name der Template-Datei für Protokoll-Ende
Das Programm nimmt Ausgaben nach stdout bzw. in eine mit dem Parameter  →log_filename angegebene Datei vor und kann zur Strukturierung dieser Ausgaben eine Musterdatei verwenden. Die Ausgaben sind in die Gruppen Header, Dateiliste und Footer gegliedert.

Mit diesem Parameter wird eine Musterdatei für den Footer zugewiesen.

Musterdateien können interne Variablen und Parameter als Platzhalter in der Form %{platzhalter} verwenden, das Standard-Muster für Footer hat diesen Inhalt:
*************************************************************************
execution status     = %{status}
successful transfers = %{successful_transfers}
failed transfers     = %{failed_transfers}
last error           = %{last_error}
*************************************************************************

DataType: SOSOptionInFileName
Default-Value: ---

DataType: SOSOptionInFileName
Default-Value: ---

banner_header Name der Datei mit einem Protokoll-Template [optional] banner_header Name der Datei mit einem Protokoll-Template [optional] Name der Datei mit einem Protokoll-Template
Das Programm nimmt Ausgaben nach stdout bzw. in eine mit dem Parameter  →log_filename angegebene Datei vor und kann zur Strukturierung dieser Ausgaben eine Musterdatei verwenden. Die Ausgaben sind in die Gruppen Header, Dateiliste und Footer gegliedert.

Mit diesem Parameter wird eine Musterdatei für den Header zugewiesen.

Musterdateien können interne Variablen und Parameter als Platzhalter in der Form %{platzhalter} verwenden, das Standard-Muster für Header hat diesen Inhalt:
*************************************************************************
*                                                                       *
*                SOSFTP - Managed File Transfer Utility                 *
*                --------------------------------------                 *
*                                                                       *
*************************************************************************
version              = %{version}
date                 = %{date} %{time}
operation            = %{operation}
protocol             = %{protocol}
file specification   = %{file_spec}
file path            = %{file_path}
source host          = %{localhost} (%{local_host_ip})
local directory      = %{local_dir}
jump host            = %{jump_host}
target host          = %{host} (%{host_ip})
target directory     = %{remote_dir}
pid                  = %{current_pid}
ppid                 = %{ppid}
*************************************************************************

DataType: SOSOptionInFileName
Default-Value: ---

DataType: SOSOptionInFileName
Default-Value: ---

check_interval [optional] check_interval [optional]

DataType: SOSOptionInteger
Default-Value: 60

DataType: SOSOptionInteger
Default-Value: 60

check_retry [optional] check_retry [optional]

DataType: SOSOptionInteger
Default-Value: 0

DataType: SOSOptionInteger
Default-Value: 0

check_size [optional] check_size [optional]
Der Parameter bestimmt, ob nach dem Transfer die Größen der übertragenen Datei und der Anzahl übertragener Byte geprüft werden und im Fall fehlender Übereinstimmung ein Fehler ausgelöst wird.

DataType: SOSOptionBoolean
Default-Value: true

DataType: SOSOptionBoolean
Default-Value: true

compress_files [optional] compress_files [optional]

Mit diesem Parameter wird festgelegt, ob der Inhalt der Dateien "gezippt", also komprimiert wird.

Der Parameter wird beim Senden von Daten ausgewertet und falls auf "true" gesetzt, werden die zu sendenden Datei(en) vor dem Senden komprimiert mit einem Zip-kompatiblen Verfahren.

DataType: SOSOptionBoolean
Default-Value: false

DataType: SOSOptionBoolean
Default-Value: false

compressed_file_extension Dateinamenendung für komprimierte Dateien [optional] compressed_file_extension Dateinamenendung für komprimierte Dateien [optional] Dateinamenendung für komprimierte Dateien

Der Parameter bestimmt die Endung des Dateinamens, falls eine Komprimierung mit dem Parameter  →compress_files durchgeführt wird. Die Endung wird an an eine evtl. bereits vorhandene Dateinamensendung angehängt.

DataType: SOSOptionString
Default-Value: .gz

DataType: SOSOptionString
Default-Value: .gz

file_path [optional] file_path [optional]
Der Parameter wird alternativ zum Parameter  →file_spec verwendet und benennt eine Datei für den Transfer.

  • Beim Empfang von Dateien gilt:

    Name und Pfad der Datei am FTP/SFTP Server, die übertragen wird. Der Dateiname muss als Bestandteil den Pfad am FTP/SFTP Server enthalten.

    Die Datei wird unter ihrem Namen in dem mit dem Parameter  →local_dir angegebenen Verzeichnis abgelegt.
    Folgende Parameter werden mit der Angabe dieses Parameters ignoriert:  →file_spec und  →remote_dir .
  • Für das Senden von Dateien gilt:

    Der Parameter nimmt den absoluten Namen und Pfad einer Datei auf, die übertragen wird. Der Dateipfad muss absolut angegeben sein.

    Die Datei wird unter ihrem Namen in dem Verzeichnis am FTP/SFTP Server abgelegt, das mit dem Parameter  →remote_dir angegeben ist.

    Folgende Parameter werden mit der Angabe dieses Parameters ignoriert:  →file_spec und  →local_dir .

DataType: SOSOptionFileName
Default-Value: ---

DataType: SOSOptionFileName
Default-Value: ---

file_spec file_spec [optional] file_spec file_spec [optional] file_spec
Der Parameter erwartet einen regulären Ausdruck, um eine oder mehrere Dateien aus einem lokalen Verzeichnis oder einem Verzeichnis am FTP/SFTP Server zu selektieren, (in Abhängigkeit vom Parameter  →operation , der mit den Werten send und receive die Richtung des Transfers bestimmt) die übertragen werden sollen.

Für die Operationen send und receive muss entweder dieser Parameter oder der Parameter  →file_path bzw. eine Liste von Dateinamen als zusätzliche Parameter angegeben sein.

DataType: SOSOptionRegExp
Default-Value: .*

DataType: SOSOptionRegExp
Default-Value: .*

ssh_auth_file [optional] ssh_auth_file [optional]

DataType: SOSOptionInFileName
Default-Value: ---

DataType: SOSOptionInFileName
Default-Value: ---

ssh_auth_method [optional] ssh_auth_method [optional]
Der Parmeter spezifiziert die Authentifizierungsmethode am SSH Server, unterstützt werden publickey und password.

Bei Verwendung der Authentifizierungsmethode publickey muss im Parameter
 →ssh_auth_file der Pfad der Datei mit dem Private-Key des Benutzers angegeben werden. Ist diese Datei mit einer Passphrase geschützt, dann muss diese mit dem Parameter  →password angegeben werden.

Bei Verwendung der Authentifizierungsmethode password wird das Kennwort des Benutzers mit dem Parameter  →password angegeben.

Welche Authentifizierungsmethoden unterstützt werden, ist am (SSH-) Server konfiguriert. Nicht alle (SSH-) Server sind für die Authentifizierungsmethode password konfiguriert.

DataType: SOSOptionStringValueList
Default-Value: publickey

DataType: SOSOptionStringValueList
Default-Value: publickey

ssh_proxy_host [optional] ssh_proxy_host [optional]
Der Wert des Parameters ist der Hostname oder die IP-Adresse eines Proxies, über den die Verbindung zum SSH Server hergestellt wird. Die Verwendung von Proxies ist optional.

Default-Value: ---

Default-Value: ---

ssh_proxy_password [optional] ssh_proxy_password [optional]
Der Wert des Parameters enthält das Kennwort einer Benutzerkennung zur Autorisierung am Proxy Server, wenn die Verbindung zum SSH Server über einen Proxy hergestellt wird.

Default-Value: ---

Default-Value: ---

ssh_proxy_port [optional] ssh_proxy_port [optional]
Der Wert des Parameters ist der Port des Proxies, über den eine Verbindung zum SSH Server hergestellt wird.

Default-Value: ---

Default-Value: ---

ssh_proxy_user [optional] ssh_proxy_user [optional]
Der Wert des Parameters enthält den Namen einer Benutzerkennung zur Autorisierung am Proxy Server, wenn die Verbindung zum SSH Server über einen Proxy hergestellt wird.

Default-Value: ---

Default-Value: ---

force_files [optional] force_files [optional]

DataType: SOSOptionBoolean
Default-Value: true

DataType: SOSOptionBoolean
Default-Value: true

host Host-Name [required]  host Host-Name [required]  Host-Name

Der Parameter benennt den Hostnamen (z.B. wilma.sos) oder die IP-Adresse (z.B. IPv4 192.168.0.1) des (FTP, SFTP, SSH, etc.) Servers, zu dem eine Verbindung hergestellt werden soll.

DataType: SOSOptionHostName
Default-Value: ---

DataType: SOSOptionHostName
Default-Value: ---

local_dir [required]  local_dir [required] 
Lokales Verzeichnis, in das bzw. von dem Dateien übertragen werden. Per Voreinstellung wird das Arbeitsverzeichnis verwendet.

Neben Verzeichnissen im lokalen Dateisystem werden UNC Namen unterstützt, mit denen Verzeichnisse auf anderen Servern adressiert werden können: \\somehost\somedirectory kann genau wie //somehost/somedirectory verwendet werden, um Dateien von einem FTP/SFTP Server direkt auf einen anderen entfernten Server zu übertragen.

Darüber hinaus können URIs für ein file-Schema angegeben werden, z.B. file:////somehost/somedirectory. Beachten Sie bitte die erforderliche Anzahl Schrägstriche. file-URIs unterliegen folgenden, durch das verwendete Java JRE bedingte Limitationen:

  • Es können keine Dateien mit Leerzeichen im Pfad oder Dateinamen verarbeitet werden
  • Authentifizierung anhand von authority strings, z.B. file:////user:password@somehost/somedirectory wird nicht unterstützt.

DataType: SOSOptionFolderName
Default-Value: .

DataType: SOSOptionFolderName
Default-Value: .

log_filename Der Name (und Pfadname) der Protokoll-Datei [optional] log_filename Der Name (und Pfadname) der Protokoll-Datei [optional] Der Name (und Pfadname) der Protokoll-Datei
Der Parameter benennt eine Datei, in die alle Protokollausgaben vorgenommen werden.

Ist die Datei noch nicht vorhanden, dann wird sie angelegt. An eine bestehende Datei werden Protokollausgaben angehängt.

Ohne Verwendung dieses Parameters erfolgen Protokollausgaben nach stdout.

DataType: SOSOptionOutFileName
Default-Value: ---

DataType: SOSOptionOutFileName
Default-Value: ---

mandator [optional] mandator [optional]

DataType: SOSOptionString
Default-Value: SOS

DataType: SOSOptionString
Default-Value: SOS

operation Die auszuführende Operation [required]  operation Die auszuführende Operation [required]  Die auszuführende Operation
send, receive, remove, execute oder install.

  • send - Dateien mit FTP/SFTP versenden
  • receive - Dateien mit FTP/SFTP empfangen
  • remove - Dateien mit FTP/SFTP auf einem anderen Server-System entfernen
  • execute - Kommando per SSH auf einem anderen Server-System ausführen
  • install - SOSFTP-Client auf einem anderen Server-System installieren

DataType: SOSOptionStringValueList
Default-Value: send

DataType: SOSOptionStringValueList
Default-Value: send

overwrite_files [optional] overwrite_files [optional]
Der Parameter bestimmt, ob ggf. vorhandene Dateien überschrieben werden sollen.

Wird dieser Parameter gemeinsam mit
 →force_files verwendet und verhindert er den Transfer von Dateien wg. Überschreibschutz, dann wird ggf. ein Fehler ausgeworfen mit dem Hinweis "no matching files".

DataType: SOSOptionBoolean
Default-Value: true

DataType: SOSOptionBoolean
Default-Value: true

passive_mode passive_mode [optional] passive_mode passive_mode [optional] passive_mode
Der Passiv-Modus wird oft für FTP z.B. beim Betrieb mit Firewalls eingesetzt. Erlaubte Werte sind 0 oder 1.

DataType: SOSOptionBoolean
Default-Value: false

DataType: SOSOptionBoolean
Default-Value: false

password Das zur Nutzerkennung passende Kennwort [optional] password Das zur Nutzerkennung passende Kennwort [optional] Das zur Nutzerkennung passende Kennwort
Kennwort zur Anmeldung am FTP/SFTP Server.

Fall SSH/SFTP Verbindungen mit private/public key Authentifizierung verwendet werden, dann spezifiziert dieser Parameter die Passphrase, mit der ggf. ein privater Schlüssel geschützt ist.

DataType: SOSOptionPassword
Default-Value: ---

DataType: SOSOptionPassword
Default-Value: ---

poll_interval [optional] poll_interval [optional]

DataType: SOSOptionInteger
Default-Value: 60

DataType: SOSOptionInteger
Default-Value: 60

poll_minfiles [optional] poll_minfiles [optional]

DataType: SOSOptionInteger
Default-Value: 1

DataType: SOSOptionInteger
Default-Value: 1

poll_timeout [optional] poll_timeout [optional]
Der Parameter bestimmt den Zeitraum in Minuten, wie lange bis zum Vorhandensein einer Datei abgewartet wird.

Trifft innerhalb der Wartezeit eine Datei ein, so wird sie übertragen; andernfalls wird ein Fehler "no matching files" ausgeworfen.

DataType: SOSOptionInteger
Default-Value: 0

DataType: SOSOptionInteger
Default-Value: 0

port zu verwendende Port-Nummer des Protokolls [required]  port zu verwendende Port-Nummer des Protokolls [required]  zu verwendende Port-Nummer des Protokolls
Port, über den Dateien gesendet werden. Für FTP meist Port 21, für SFTP meist Port 22.

DataType: SOSOptionPortNumber
Default-Value: 21

DataType: SOSOptionPortNumber
Default-Value: 21

profile Der Name eines auszuführenden Profils [optional] profile Der Name eines auszuführenden Profils [optional] Der Name eines auszuführenden Profils
Bei Verwendung einer Konfigurationsdatei (siehe Parameter settings) benennt dieser Parameter eine Sektion, d.h. ein Profil, der Konfigurationsdatei. Sektionen enthalten Parameter als Paare aus Namen und Wert, die andernfalls als Kommandozeilenparameter aufgeführt werden.

An der Kommandozeile wird der Name der Einstellungsdatei und des Profils wie folgt angegeben:

sosftp.sh -operation=send -settings=settings.ini -profile=sample_transfer ...

DataType: SOSOptionString
Default-Value: ---

DataType: SOSOptionString
Default-Value: ---

protocol Art des Datenübertragungsprotokolls [required]  protocol Art des Datenübertragungsprotokolls [required]  Art des Datenübertragungsprotokolls
Der Parameter nimmt die Werte ftp, sftp oder ftps an.

Bei Verwendung von sftp werden auch die ssh_*-Parameter ausgewertet.

DataType: SOSOptionStringValueList
Default-Value: ftp

DataType: SOSOptionStringValueList
Default-Value: ftp

recursive Unterverzeichnisse durchsuchen [optional] recursive Unterverzeichnisse durchsuchen [optional] 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

DataType: SOSOptionBoolean
Default-Value: false

DataType: SOSOptionBoolean
Default-Value: false

remote_dir remote_dir [required]  remote_dir remote_dir [required]  remote_dir
Verzeichnis am FTP/SFTP Server, von dem bzw. zu dem Dateien übertragen werden.

Per Voreinstellung wird das Home-Verzeichnis des Benutzers am FTP/SFTP Server verwendet.

DataType: SOSOptionFolderName
Default-Value: .

DataType: SOSOptionFolderName
Default-Value: .

remove_files [optional] remove_files [optional]
Der Parameter bestimmt, ob nach dem Transfer Dateien auf dem FTP/SFTP Server entfernt werden sollen.

DataType: SOSOptionBoolean
Default-Value: false

DataType: SOSOptionBoolean
Default-Value: false

replacement Zeichenkette für Substitution [optional] replacement Zeichenkette für Substitution [optional] 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 .

DataType: SOSOptionString
Default-Value: ---

DataType: SOSOptionString
Default-Value: ---

replacing Regulärer Ausdruck für Text-Ersetzung [optional] replacing Regulärer Ausdruck für Text-Ersetzung [optional] 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

DataType: SOSOptionRegExp
Default-Value: ---

DataType: SOSOptionRegExp
Default-Value: ---

scheduler_host [optional] scheduler_host [optional]
Der Parameter benennt den Host-Namen oder die IP-Adresse eines Servers, auf dem ein JobScheduler für den "Managed File Transfer" betrieben wird.

Per Job Scheduling wird automatisiert der Inhalt einer ggf. verwendeten Historiendatei (siehe Parameter
 →history ) in eine zentrale Datenbank übernommen.

Dieser Parameter veranlasst die Übertragung der Historieneinträge für den aktuellen Transfer per UDP an den Job Scheduler. Sollte der Job Scheduler nicht erreichbar sein, dann wird kein Fehler gemeldet, stattdessen wird der Inhalt der Historiendatei nachträglich automatisch vom Job Scheduler verarbeitet.

DataType: SOSOptionHostName
Default-Value: localhost

DataType: SOSOptionHostName
Default-Value: localhost

scheduler_job_chain [optional] scheduler_job_chain [optional]
Der Name einer Job-Kette für den Managed File Transfer im Job Scheduler, siehe Parameter  →scheduler_host . Die Job-Kette nimmt einen Historieneintrag entgegen und importiert ihn in eine zentrale Datenbank.

DataType: JSJobChain
Default-Value: scheduler_sosftp_history

DataType: JSJobChain
Default-Value: scheduler_sosftp_history

scheduler_port [optional] scheduler_port [optional]

DataType: SOSOptionPortNumber
Default-Value: 4444

DataType: SOSOptionPortNumber
Default-Value: 4444

settings Name der INI-Datei mit den Profilen [optional] settings Name der INI-Datei mit den Profilen [optional] Name der INI-Datei mit den Profilen
Bei Verwendung einer Konfigurationsdatei werden Profile als Sektionen eingerichtet und einzelne Parameter als Paare aus Namen und Wert in einem einfach Textformat aufgeführt:

[sample_transfer]
protocol = ftp
host = localhost
port = 21
local_dir = /tmp
...


An der Kommandozeile wird der Name der Einstellungsdatei und des Profils angegeben:

sosftp.sh -operation=send -settings=settings.ini -profile=sample_transfer ...

Ein Profil kann den Inhalt anderer Profile wie folgt referenzieren:

[default]
history = /sosftp/transfer_history.csv
mandator = SOS
scheduler_host = localhost
scheduler_port = 4444

[sample_transfer]
include = default
protocol = ftp
host = www.sos-berlin.com
port = 21
local_dir = /tmp
...


In diesem Beispiel referenziert das Profil sample_transfer mittels include das default Profil und übernimmt die Einstellungen für die Historienverarbeitung.

DataType: SOSOptionIniFileName
Default-Value: ./SOSFtpSettings.ini

DataType: SOSOptionIniFileName
Default-Value: ./SOSFtpSettings.ini

transactional [optional] transactional [optional]
Der Parameter bestimmt, ob ob die Dateiübertragung innerhalb einer Transaktion abläuft, d.h. es werden entweder alle Dateien erfolgreich übertragen oder keine. Tritt bei der Übertragung einer Datei ein Fehler auf, dann werden die Übertragungen aller bis dahin übertragenen Dateien rückgängig gemacht ("zurückgerollt").

Wird der Parameter mit dem Wert true verwendet, dann wirken folgende Parameter:

  • Der Parameter  →atomic_suffix muss angegeben sein, der Zieldateien zunächst mit einem Suffix, z.B. "~", erzeugt und nach vollständiger Übertragung in den Zieldateinamen umbenennt. Ist die Übertragung einer von mehreren Dateien nicht erfolgreich, dann wird keine Datei in den Zieldateinamen umbenannt, stattdessen werden die temporär erzeugten Dateien aus dem Zielsystem entfernt.
  • Der Parameter  →remove_files , der das Entfernen der übertragenen Dateien aus dem Quellsystem veranlasst, wirkt erst nachdem alle Dateien erfolgreich übertragen wurden. Andernfalls wird keine Datei entfernt.

DataType: SOSOptionBoolean
Default-Value: false

DataType: SOSOptionBoolean
Default-Value: false

transfer_mode Art der Zeichencodierung [optional] transfer_mode Art der Zeichencodierung [optional] Art der Zeichencodierung
Der Transfer-Modus gilt für das FTP-Protokoll und kann die Werte ascii oder binary annehmen.

DataType: SOSOptionTransferMode
Default-Value: binary

DataType: SOSOptionTransferMode
Default-Value: binary

user Kennung/Identifikation des Nutzers [required]  user Kennung/Identifikation des Nutzers [required]  Kennung/Identifikation des Nutzers
Benutzername zur Anmeldung am (FTP/SFTP) Server.

DataType: SOSOptionUserName
Default-Value: anonymous

DataType: SOSOptionUserName
Default-Value: anonymous

verbose Granularität der Protokollierung von (Debug-)Meldungen [optional] verbose Granularität der Protokollierung von (Debug-)Meldungen [optional] Granularität der Protokollierung von (Debug-)Meldungen

DataType: SOSOptionInteger
Default-Value: 10

DataType: SOSOptionInteger
Default-Value: 10

zero_byte_transfer [optional] zero_byte_transfer [optional]
Der Parameter legt fest, ob Dateien mit 0 Byte Größe übertragen und ggf. in nachfolgenden Kommandos verarbeitet werden sollen. Folgende Einstellungen sind möglich:

  • yes : Dateien mit 0 Byte Größe werden übertragen (Voreinstellung).
  • no : Dateien mit 0 Byte Größe werden übertragen, wenn mindestens eine der übertragenen Dateien mehr als 0 Byte Größe aufweist.
  • strict : es werden keine Dateien mit 0 Byte Größe übertragen. Werden Dateien mit 0 Byte Größe gefunden, dann wird ein Fehler ausgelöst bzw. ein Auftrag beendet.
  • relaxed : es werden keine Dateien mit 0 Byte Größe übertragen, allerdings wird kein Fehler ausgelöst, wenn dadurch keine Dateien übertragen werden konnten. Ein Auftrag wird ggf. als erledigt markiert.
Die Verwendung kann mit dem Parameter
 →force_files erweitert werden: enthält dieser Parameter den Wert false, dann wird ein Auftrag fortgesetzt, auch wenn keine Dateien übertragen wurden.

Der Parameter  →remove_files gilt uneingeschränkt. Dateien werden entfernt, unabhängig davon, ob sie wg. 0 Byte Größe übertragen wurden oder nicht.

DataType: SOSOptionStringValueList
Default-Value: yes

DataType: SOSOptionStringValueList
Default-Value: yes

XML Code zur Konfiguration des Jobs
  <job
    title = "Client for JobScheduler Advanced Data Exchange"
    order = " yes "
>
    <description>
        <include file = "jobs/JADE-Client.xml">
    </description>
    <params>
        <param name="account" value="">
        <param name="alternative_account" value="">
        <param name="alternative_host" value="">
        <param name="alternative_passive_mode" value="">
        <param name="alternative_password" value="">
        <param name="alternative_port" value="">
        <param name="alternative_remote_dir" value="">
        <param name="alternative_transfer_mode" value="">
        <param name="alternative_user" value="">
        <param name="append_files" value="">
        <param name="atomic_prefix" value="">
        <param name="atomic_suffix" value="">
        <param name="banner_footer" value="">
        <param name="banner_header" value="">
        <param name="check_interval" value="">
        <param name="check_retry" value="">
        <param name="check_size" value="">
        <param name="compress_files" value="false">
        <param name="compressed_file_extension" value=".gz">
        <param name="file_path" value="">
        <param name="file_spec" value="">
        <param name="ssh_auth_file" value="">
        <param name="ssh_auth_method" value="">
        <param name="ssh_proxy_host" value="">
        <param name="ssh_proxy_password" value="">
        <param name="ssh_proxy_port" value="">
        <param name="ssh_proxy_user" value="">
        <param name="force_files" value="">
        <param name="host" value="">
        <param name="local_dir" value="">
        <param name="log_filename" value="">
        <param name="mandator" value="">
        <param name="operation" value="">
        <param name="overwrite_files" value="">
        <param name="passive_mode" value="">
        <param name="password" value="">
        <param name="poll_interval" value="">
        <param name="poll_minfiles" value="">
        <param name="poll_timeout" value="">
        <param name="port" value="">
        <param name="profile" value="">
        <param name="protocol" value="">
        <param name="recursive" value="">
        <param name="remote_dir" value="">
        <param name="remove_files" value="">
        <param name="replacement" value="">
        <param name="replacing" value="">
        <param name="scheduler_host" value="">
        <param name="scheduler_job_chain" value="">
        <param name="scheduler_port" value="">
        <param name="settings" value="">
        <param name="transactional" value="">
        <param name="transfer_mode" value="">
        <param name="user" value="">
        <param name="verbose" value="">
        <param name="zero_byte_transfer" value="">
    </params>

     <script language   = " java "
             java_class = " com.sos.DataExchange.SOSDataExchangeEngineMain " >
     </script>
</job>
Releases 1.0 Version 1.7
2012-01-01 [ letzte Änderung 2012-01-01 ]
Autor kb kb sos-berlin.com
Kommentar
Initiales Release
Ressourcen Dateien
Dateiname Typ OS Kommentar
sos.net.jar java all
Klassen SOSFTPCommand, SOSFTP
sos.settings.jar java all
Klasse SOSProfileSettings
sos.util.jar java all
Klassen SOSFile, SOSSchedulerLogger
commons-net-1.2.2.jar java all
Apache FTP Implementierung, siehe http://commons.apache.org/
trilead-ssh2-build211.jar java all
Trilead SFTP Implementierung, siehe http://www.trilead.com/

Documentation   JADE-Client  Client for JobScheduler Advanced Data Exchange

This program is used as a standalone, synchroneous File Transfer client application.

Features supported by this job are:

  • Send and receive files by FTP to/from some host.
  • Send and receive files by SFTP to/from some target host.
  • Send and receive files by FTPS to/from some target host.
  • Polling the source server for incoming files.
  • Server to Server transfer without touchdown. Different protocols can be used for transfer between the hosts., e.g. FTP to SFTP.
  • Execute commands by SSH on some host.
  • Both password and public key authentication are supported for SFTP.
  • The parameterization is effected by command line parameters and/or by configuration files. Mixed usage of parameters from the command line and from a configuration file is supported, command line parameters have precedence.
  • Logging and error handling are provided, errors are detected and reported on a per file basis.
  • Transfer of partially matched files Alternatively to transferring individual files, you could transfer multiple files by use of regular expressions.
  • Recursive transfer of files in directories Files from arbitrarily nested subdirectories can be selected for transfer by regular expressions. Subdirectories will be created in the target file system, if required.
  • Atomic Transfer Files can be renamed during transfer in order to make them appear atomically in a target directory. This is relevant e.g. should target directories be monitored for incoming files. This feature guarantees that incoming files are completely transferred before they appear in a directory.
  • Check transferred data for completeness Checking completeness is done by comparing the size of incoming files with the number of transferred bytes. Moreover, files can be transferred repeatedly in order to verify that the files have not been changed on the FTP server during the transfer period.
  • Handling of zero-byte (empty) files There are multiple options to handle empty files: Exclude empty files from transfer, include particular empty files, notification by e-mail in case of transfer of empty files.
  • Renaming of files Files can be renamed after transfer by regular expressions.
  • Use of alternative access data and credentials Should a connection or the login to an FTP server fail then alternative access data and credentials can be used, e.g. to connect to a backup FTP server in case of failure. Primary and alternative access parameters are handled additively, i.e. only those alternative parameters have to be specified that differ from the primary access parameters.
  • Support for UNC paths in target directories Files can be directly transferred from an FTP/SFTP server to a target server system.
  • Track record of file transfers Optionally a history file keeps track of every transfer that has been effected. History entries are optionally transferred to a JobScheduler instance (background service) that adds them to a central database. As an alternative the transfer history can be stored directly into the database of the background service.
  • File compression using gzip or zip.

Features of former SOSFtp, which are actually not supported by JADE

  • jump host

    Send files by FTP or SFTP to a "jump host" and forward them by FTP or SFTP to a target host. Different transfer protocols can be used between local host and "jump_host" and between "jump_host" and target host.
  • file_spec2

  • $ppid

  • current_pid

System Requirements

  • Java Runtime Environment JRE 1.6 and above.

Start Script

  • Windows: jade.cmd
                                    set CLASSPATH_BASE=.
                                    java -classpath
                                    "%CLASSPATH_BASE%/commons-net-1.2.2.jar;%CLASSPATH_BASE%/sos.net.jar;
                                    %CLASSPATH_BASE%/sos.settings.jar;%CLASSPATH_BASE%/sos.util.jar;
                                    %CLASSPATH_BASE%/trilead-ssh2-build211.jar"
                                    com.sos.jade.SOSJadeEngineMain
                                    %*
                                
  • Unix: jade.sh
                                    CLASSPATH_BASE=.
                                    JAVA_BIN="java"
                                    "$JAVA_BIN" -classpath
                                    "$CLASSPATH_BASE/commons-net-1.2.2.jar:$CLASSPATH_BASE/sos.net.jar:
                                    $CLASSPATH_BASE/sos.settings.jar:$CLASSPATH_BASE/sos.util.jar:
                                    $CLASSPATH_BASE/trilead-ssh2-build211.jar"
                                    com.sos.jade.SOSJadeEngineMain $*
                                

Command line parameters

  • General
                                    Usage: com.sos.jade.SOSJadeEngineMain -
                                    
     →operation
    
                                    = -
                                    
     →settings
    
                                    = -
                                    
     →profile
    
                                    =
                                    -verbose=
                                    -
                                    
     →operation
    
                                    =[send|receive] FTP/SFTP operation
                                    -
                                    
     →settings
    
                                    =[file] Configuration file
                                    -
                                    
     →profile
    
                                    =[profile] Section/Profile for FTP/SFTP settings
    
                                    in configuration file
    
                                    -verbose=[1..9] Verbosity level
                                
  • Command line parameters and Configuration Files

    This program can receive parameters directly from the command line and from a configuration file. if specified at the command line then a hyphen must be added in front of each parameter name:

    jade.sh -  →operation =send -  →protocol =ftp -  →host =localhost -  →port =21 -  →local_dir =/tmp ...

    If a configuration file is used then profiles can be added as sections in this file and individual parameters can be specified as pairs of names and values, e.g. for a file settings.ini :

    [sample_transfer]
     →protocol = ftp
     →host = localhost
     →port = 21
     →local_dir = /tmp
    ...

    At the command line the name of the configuration file and the profile are specified like this:

    jade.sh -  →operation =send -  →settings =settings.ini -  →profile =sample_transfer ...

    Mixed usage of parameters from the command line and from a configuration file is supported, command line parameters have precedence.

Class Name/ Title JADE-Client  Client for JobScheduler Advanced Data Exchange
  Order ControlAn order activates the processing of a job chain and contains parameters for one or more jobs in the job chain. This job is executed order driven, i.e. it starts automatically if an order is received.
  ScriptA script contains the implementation of one or more jobs. Scripts make optional use of the Job Scheduler API methods and are implemented in Java,Javascript, PerlScript or VBScript. Jobs are an alternative to scripts, and can be configured to start programs and executable files.

Configuration  


  Parameters

account
[optional]
account
[optional]

DataType: SOSOptionString
Default-Value: ---

DataType: SOSOptionString
Default-Value: ---

alternative_account
[optional]
alternative_account
[optional] Additional accounting information

Optional account info needed for authentication with an (FTP) server.

Alternative parameter for the primary parameter  →account .

The alternative parameters are used solely should the connection to an server fail, e.g. if the server were not available or if invalid credentials were used.

Default-Value: ---

Default-Value: ---

alternative_host [optional] alternative_host [optional]
Alternative parameter for the primary parameter  →host .

The alternative parameters are used solely should the connection to an server fail, e.g. if the server were not available or if invalid credentials were used.

DataType: SOSOptionHostName
Default-Value: ---

DataType: SOSOptionHostName
Default-Value: ---

alternative_passive_mode [optional] alternative_passive_mode [optional]
Alternative parameter for the primary parameter  →passive_mode .

The alternative parameters are used solely should the connection to an server fail, e.g. if the server were not available or if invalid credentials were used.

Default-Value: ---

Default-Value: ---

alternative_password [optional] alternative_password [optional]
Alternative parameter for the primary parameter  →password .

The alternative parameters are used solely should the connection to an server fail, e.g. if the server were not available or if invalid credentials were used.

Default-Value: ---

Default-Value: ---

alternative_port [optional] alternative_port [optional]
Alternative parameter for the primary parameter  →port .

The alternative parameters are used solely should the connection to an server fail, e.g. if the server were not available or if invalid credentials were used.

DataType: SOSOptionPortNumber
Default-Value: ---

DataType: SOSOptionPortNumber
Default-Value: ---

alternative_remote_dir [optional] alternative_remote_dir [optional]
Alternative parameter for the primary parameter  →remote_dir .

The alternative parameters are used solely should the connection to an server fail, e.g. if the server were not available or if invalid credentials were used.

Default-Value: ---

Default-Value: ---

alternative_transfer_mode [optional] alternative_transfer_mode [optional]
Alternative parameter for the primary parameter  →transfer_mode .

The alternative parameters are used solely should the connection to an server fail, e.g. if the server were not available or if invalid credentials were used.

Default-Value: ---

Default-Value: ---

alternative_user [optional] alternative_user [optional]
Alternative parameter for the primary parameter  →user .

The alternative parameters are used solely should the connection to an server fail, e.g. if the server were not available or if invalid credentials were used.

Default-Value: ---

Default-Value: ---

append_files [optional] append_files [optional]

DataType: SOSOptionBoolean

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

Default-Value: false

DataType: SOSOptionBoolean

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

Default-Value: false

atomic_prefix [optional] atomic_prefix [optional]
This parameter specifies whether target files should be created with a prefix such as "~", and must be renamed to the target file name after the file transfer is completed without errors. This mechanism is useful if the target directory is monitored for incoming files by some application and if files are required to appear atomically instead of being subsequently written to.

The temporary prefix is specified as the value of this parameter.

This setting is recommended should target directories be monitored by an application or a JobScheduler.

DataType: SOSOptionString
Default-Value: ---

DataType: SOSOptionString
Default-Value: ---

atomic_suffix [optional] atomic_suffix [optional]
This parameter specifies whether target files should be created with a suffix such as "~", and should be renamed to the target file name after the file transfer is completed. This mechanism is useful if the target directory is monitored for incoming files by some application and if files are required to appear atomically instead of being subsequently written to.

The temporary suffix is specified as the value of this parameter.

This setting is recommended should target directories be monitored by an application or a Job Scheduler.

DataType: SOSOptionString
Default-Value: ---

DataType: SOSOptionString
Default-Value: ---

banner_footer Name der Template-Datei für Protokoll-Ende [optional] banner_footer Name der Template-Datei für Protokoll-Ende [optional] Name der Template-Datei für Protokoll-Ende
This program logs output to stdout or to a file that has been specified by the parameter  →log_filename . A template can be used in order to organize the output that is created. The output is grouped into header, file list and footer.

This parameter specifies a template file for footer output.

Templates can use internal variables and parameters as placeholders in the form %{placeholder}. The standard footer template looks like this:
*************************************************************************
execution status     = %{status}
successful transfers = %{successful_transfers}
failed transfers     = %{failed_transfers}
last error           = %{last_error}
*************************************************************************

DataType: SOSOptionInFileName
Default-Value: ---

DataType: SOSOptionInFileName
Default-Value: ---

banner_header Name of Template-File for log-File [optional] banner_header Name of Template-File for log-File [optional] Name of Template-File for log-File
This program logs output to stdout or to a file that has been specified by the parameter  →log_filename . A template can be used in order to organize the output that is created. The output is grouped into header, file list and footer.

This parameter specifies a template file for header output.

Templates can use internal variables and parameters as placeholders in the form %{placeholder}. The standard header template looks like this:
*************************************************************************
*                                                                       *
*                SOSFTP - Managed File Transfer Utility                 *
*                --------------------------------------                 *
*                                                                       *
*************************************************************************
version              = %{version}
date                 = %{date} %{time}
operation            = %{operation}
protocol             = %{protocol}
file specification   = %{file_spec}
file path            = %{file_path}
source host          = %{localhost} (%{local_host_ip})
local directory      = %{local_dir}
jump host            = %{jump_host}
target host          = %{host} (%{host_ip})
target directory     = %{remote_dir}
pid                  = %{current_pid}
ppid                 = %{ppid}
*************************************************************************

DataType: SOSOptionInFileName
Default-Value: ---

DataType: SOSOptionInFileName
Default-Value: ---

check_interval [optional] check_interval [optional]

DataType: SOSOptionInteger
Default-Value: 60

DataType: SOSOptionInteger
Default-Value: 60

check_retry [optional] check_retry [optional]

DataType: SOSOptionInteger
Default-Value: 0

DataType: SOSOptionInteger
Default-Value: 0

check_size [optional] check_size [optional]
This parameter determines whether the original file size and the number of bytes transferred should be compared after a file transfer and whether an error should be raised if they would not match.

DataType: SOSOptionBoolean

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

Default-Value: true

DataType: SOSOptionBoolean

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

Default-Value: true

compress_files [optional] compress_files [optional]

This parameter specifies whether the content of the source files should be compressed by using a zip-algorithm or not.

In case of sending files the files to be sent will be compressed.

DataType: SOSOptionBoolean

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

Default-Value: false

DataType: SOSOptionBoolean

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

Default-Value: false

compressed_file_extension Additional file-name extension for compressed files [optional] compressed_file_extension Additional file-name extension for compressed files [optional] Additional file-name extension for compressed files

DataType: SOSOptionString
Default-Value: .gz

DataType: SOSOptionString
Default-Value: .gz

file_path [optional] file_path [optional]
This parameter is used alternatively to the parameter  →file_spec to specify a single file for transfer.

  • When receiving files the following applies:

    This parameter accepts the absolute name and path of file at the FTP/SFTP server that should be transferred. The file name has to include both name and path of the file at the FTP/SFTP server.

    The file will be stored unter its name in the directory that is specified by the parameter  →local_dir .

    The following parameters are ignored should this parameter be used:  →file_spec and  →remote_dir .
  • When sending files the following applies:

    This parameter accepts the absolute name and path of file that should be transferred. An absolute path has to be specified.

    The file will be stored under its name in the directory at the FTP/SFTP server that has been specified by the parameter  →remote_dir .

    The following parameters are ignored should this parameter be used:  →file_spec and  →local_dir .

DataType: SOSOptionFileName
Default-Value: ---

DataType: SOSOptionFileName
Default-Value: ---

file_spec file_spec [optional] file_spec file_spec [optional] file_spec
This parameter expects a regular expression to select files from a local directory or from an FTP/SFTP server (depending on the  →operation parameter values send or receive) to be transferred.

For the operations send and receive either this parameter has to be specified or the parameter  →file_path or a list of file names as additional parameters.

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

DataType: SOSOptionRegExp
Default-Value: .*

DataType: SOSOptionRegExp
Default-Value: .*

ssh_auth_file [optional] ssh_auth_file [optional]

DataType: SOSOptionInFileName
Default-Value: ---

DataType: SOSOptionInFileName
Default-Value: ---

ssh_auth_method [optional] ssh_auth_method [optional]
This parameter specifies the authentication method for the SSH server - the publickey and password methods are supported.

Should the publickey authentication method be used, then the path name of the private key file has to be specified with the
 →ssh_auth_file parameter. Should the private key file be secured by a passphrase then the passphrase has to be specified with the  →password parameter.

For the password authentication method the password for the user account has to be specified using the  →password parameter.

The authentication methods that are enabled depend on the SSH server configuration. Not all SSH servers are configured for password authentication.

DataType: SOSOptionStringValueList
Default-Value: publickey

DataType: SOSOptionStringValueList
Default-Value: publickey

ssh_proxy_host [optional] ssh_proxy_host [optional]
The value of this parameter is the host name or the IP address of a proxy that is used in order to establish a connection to the SSH server. The use of a proxy is optional.

Default-Value: ---

Default-Value: ---

ssh_proxy_password [optional] ssh_proxy_password [optional]
This parameter specifies the password for the proxy server user account, should a proxy be used in order to connect to the SSH server.

Default-Value: ---

Default-Value: ---

ssh_proxy_port [optional] ssh_proxy_port [optional]
This parameter specifies the port number of the proxy, should a proxy be used in order to establish a connection to the SSH server.

Default-Value: ---

Default-Value: ---

ssh_proxy_user [optional] ssh_proxy_user [optional]
The value of this parameter specifies the user account for authentication by the proxy server should a proxy be used in order to connect to the SSH server.

Default-Value: ---

Default-Value: ---

force_files [optional] force_files [optional]

DataType: SOSOptionBoolean

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

Default-Value: true

DataType: SOSOptionBoolean

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

Default-Value: true

host Host-Name [required]  host Host-Name [required]  Host-Name

This parameter specifies the hostname (e.g. wilma.sos) or IP address (e.g. IPv4 192.168.0.1) of the (FTP, SFTP, SSH, etc.) server to which a connection has to be made.

DataType: SOSOptionHostName
Default-Value: ---

DataType: SOSOptionHostName
Default-Value: ---

local_dir local_dir [required]  local_dir local_dir [required]  local_dir
Local directory into which or from which files should be transferred. By default the current working directory is used.

Besides paths in the local file system UNC path names are supported that could be used to address remote server systems: \\somehost\somedirectory can be used in the same way as //somehost/somedirectory to transfer files from an FTP/SFTP server to a different remote server system.

Moreover, you could specify URIs for a file schema as in file:////somehost/somedirectory. Please, consider the required number of slashes. file URIs are subject to the following limitations due to constraints of the underlying Java JRE:

  • File names and path names must not contain any spaces.
  • Authentication by authority strings as in file:////user:password@somehost/somedirectory is not supported.

DataType: SOSOptionFolderName
Default-Value: .

DataType: SOSOptionFolderName
Default-Value: .

log_filename Name (and Pathname) of the logging-file [optional] log_filename Name (and Pathname) of the logging-file [optional] Name (and Pathname) of the logging-file
This parameter specifies the location of a file to which the log output will be written.

Should the file not exist then it will be created. If the already exists then all log output will be appended.

Without specifying this parameter all log output will be written to stdout.

DataType: SOSOptionOutFileName
Default-Value: ---

DataType: SOSOptionOutFileName
Default-Value: ---

mandator [optional] mandator [optional]

DataType: SOSOptionString
Default-Value: SOS

DataType: SOSOptionString
Default-Value: SOS

operation Operation to be executed [required]  operation Operation to be executed [required]  Operation to be executed
send, receive, remove, execute or install.

  • send - transfer files by FTP/SFTP to a remote server
  • receive - transfer files by FTP/SFTP from a remote server
  • remove - remove files by FTP/SFTP on a remote server
  • execute - execute a command by SSH on a remote server
  • install - install SOSFTP on a remote server

DataType: SOSOptionStringValueList
Default-Value: send

DataType: SOSOptionStringValueList
Default-Value: send

overwrite_files [optional] overwrite_files [optional]
This parameter specifies wether existing files can be overwritten.

Is this parameter used with
 →force_files and should no files be transferred due to overwrite protection then an error will be raised stating that "no matching files" could be found.

DataType: SOSOptionBoolean

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

Default-Value: true

DataType: SOSOptionBoolean

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

Default-Value: true

passive_mode passive_mode [optional] passive_mode passive_mode [optional] passive_mode
Passive mode for FTP is often used with firewalls. Valid values are 0 or 1.

DataType: SOSOptionBoolean

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

Default-Value: false

DataType: SOSOptionBoolean

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

Default-Value: false

password Password for UserID [optional] password Password for UserID [optional] Password for UserID
Password for authentication at the FTP/SFTP server.

For SSH/SFTP connections that make use of public/private key authentication the password parameter is specified for the passphrase that optionally secures a private key.

DataType: SOSOptionPassword
Default-Value: ---

DataType: SOSOptionPassword
Default-Value: ---

poll_interval [optional] poll_interval [optional]

DataType: SOSOptionInteger
Default-Value: 60

DataType: SOSOptionInteger
Default-Value: 60

poll_minfiles [optional] poll_minfiles [optional]

DataType: SOSOptionInteger
Default-Value: 1

DataType: SOSOptionInteger
Default-Value: 1

poll_timeout [optional] poll_timeout [optional]
This parameter specifies the time in minutes, how long a file is polled for.

If a file becomes available within the time specified then it will be transferred, otherwise an error "no matching files" will be raised.

DataType: SOSOptionInteger
Default-Value: 0

DataType: SOSOptionInteger
Default-Value: 0

port Port-Number to be used for Data-Transfer [required]  port Port-Number to be used for Data-Transfer [required]  Port-Number to be used for Data-Transfer
Port by which files should be transferred. For FTP this is usually port 21, for SFTP this is usually port 22.

DataType: SOSOptionPortNumber
Default-Value: 21

DataType: SOSOptionPortNumber
Default-Value: 21

profile The Name of a Profile-Section to be executed [optional] profile The Name of a Profile-Section to be executed [optional] The Name of a Profile-Section to be executed
If a configuration file is being used (see parameter settings), then this parameter specifies a name of a section within the configuration file. Such sections, i.e. profiles, specify parameters as pairs of names and values that otherwise would be specified by command line parameters.

At the command line the name of the configuration file and the profile are specified like this:

sosftp.sh -operation=send -settings=settings.ini -profile=sample_transfer ...

DataType: SOSOptionString
Default-Value: ---

DataType: SOSOptionString
Default-Value: ---

protocol Type of requested Datatransfer [required]  protocol Type of requested Datatransfer [required]  Type of requested Datatransfer
The values ftp, sftp or ftps are valid for this parameter.

If sftp is used, then the ssh_* parameters will be applied.

DataType: SOSOptionStringValueList
Default-Value: ftp

DataType: SOSOptionStringValueList
Default-Value: ftp

recursive Include subfolders in operation [optional] recursive Include subfolders in operation [optional] 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

DataType: SOSOptionBoolean

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

Default-Value: false

DataType: SOSOptionBoolean

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

Default-Value: false

remote_dir remote_dir [required]  remote_dir remote_dir [required]  remote_dir
Directory at the FTP/SFTP server from which or to which files should be transferred.

By default the home directory of the user at the FTP/SFTP server is used.

DataType: SOSOptionFolderName
Default-Value: .

DataType: SOSOptionFolderName
Default-Value: .

remove_files [optional] remove_files [optional]
This parameter specifies whether files on the FTP/SFTP server should be removed after transfer.

DataType: SOSOptionBoolean

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

Default-Value: false

DataType: SOSOptionBoolean

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

Default-Value: false

replacement String for Replacement [optional] replacement String for Replacement [optional] 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.

DataType: SOSOptionString
Default-Value: ---

DataType: SOSOptionString
Default-Value: ---

replacing Regular expression for filename replacement [optional] replacing Regular expression for filename replacement [optional] 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.

DataType: SOSOptionRegExp
Default-Value: ---

DataType: SOSOptionRegExp
Default-Value: ---

scheduler_host [optional] scheduler_host [optional]
This parameter specifies the host name or IP address of a server for which Job Scheduler is operated for Managed File Transfer.

The contents of an optional history file (see parameter
 →history ), is added to a central database by Job Scheduler.

This parameter causes the transfer of the history entries for the current transfer by UDP to Job Scheduler. Should Job Scheduler not be accessible then no errors are reported, instead, the contents of the history will automaticall be processed later on.

DataType: SOSOptionHostName
Default-Value: localhost

DataType: SOSOptionHostName
Default-Value: localhost

scheduler_job_chain [optional] scheduler_job_chain [optional]
The name of a job chain for Managed File Transfer with Job Scheduler, see parameter  →scheduler_host . The job chain accepts history entries and performs an import into a central database.

DataType: JSJobChain
Default-Value: scheduler_sosftp_history

DataType: JSJobChain
Default-Value: scheduler_sosftp_history

scheduler_port [optional] scheduler_port [optional]

DataType: SOSOptionPortNumber
Default-Value: 4444

DataType: SOSOptionPortNumber
Default-Value: 4444

settings Name of INI-File which contains the profiles to execute [optional] settings Name of INI-File which contains the profiles to execute [optional] Name of INI-File which contains the profiles to execute
A configuration (INI-) file can be specified that contains profiles, i.e. sections, with parameters specified as pairs of names and values in a plain text format like this:

[sample_transfer]
protocol = ftp
host = localhost
port = 21
local_dir = /tmp
...


At the command line the name of the configuration file and the profile are specified like this:

sosftp.sh -operation=send -settings=settings.ini -profile=sample_transfer ...

A profile can reference the contents of other profiles like this:

[default]
history = /sosftp/transfer_history.csv
mandator = SOS
scheduler_host = localhost
scheduler_port = 4444

[sample_transfer]
include = default
protocol = ftp
host = www.sos-berlin.com
port = 21
local_dir = /tmp
...


With this sample the profile sample_transfer includes the default profile via the include directive and thus applies the file transfer history settings.

DataType: SOSOptionIniFileName
Default-Value: ./SOSFtpSettings.ini

DataType: SOSOptionIniFileName
Default-Value: ./SOSFtpSettings.ini

transactional [optional] transactional [optional]
This parameter specifies if file transfers should be operated within a single transaction, i.e. either all files are successfully transferred or none. Should an error occur during a transfer operation then all transfers will be rolled back.

When specifying the value true then the following applies:

  • The parameter  →atomic_suffix has to be specified that causes target files to be created with a suffix such as "~" and that causes the respective files to be renamed to their target file name after the transfer of all files has been successfully completed. If at least one file out of a set of files cannot be transferred successfully then no files will be renamed, instead the temporarily created files are removed from the target system.
  • The parameter  →remove_files that causes files to be removed after successful transfer will be effective only after all files have been successfully transferred. Otherwise no files will be removed.

DataType: SOSOptionBoolean

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

Default-Value: false

DataType: SOSOptionBoolean

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

Default-Value: false

transfer_mode Type of Character-Encoding [optional] transfer_mode Type of Character-Encoding [optional] Type of Character-Encoding
Transfer mode is used for FTP exclusively and can be either ascii or binary.

DataType: SOSOptionTransferMode
Default-Value: binary

DataType: SOSOptionTransferMode
Default-Value: binary

user UserID of user in charge [required]  user UserID of user in charge [required]  UserID of user in charge
User name for authentication at the (FTP/SFTP) server.

DataType: SOSOptionUserName
Default-Value: anonymous

DataType: SOSOptionUserName
Default-Value: anonymous

verbose The granuality of (Debug-)Messages [optional] verbose The granuality of (Debug-)Messages [optional] The granuality of (Debug-)Messages

DataType: SOSOptionInteger
Default-Value: 10

DataType: SOSOptionInteger
Default-Value: 10

zero_byte_transfer [optional] zero_byte_transfer [optional]
This parameter specifies whether zero byte files should be transferred and processed by subsequent commands. The following settings are available:

  • yes : Files with zero byte size are transferred (default).
  • no : Files with zero byte size are transferred, should at least one of the files have more than zero byte size.
  • strict : Files with zero byte size are not transferred. An error will be raised if any zero byte file is found.
  • relaxed : Files with zero byte size will not be transferred. However, no error will be raised if this results in no files being transferred.
Use of this parameter can be refined using the
 →force_files parameter: should  →force_files have the value false, then processing will be treated as successful in the event of no files having been transferred.

Note that the  →remove_files parameter has unrestricted validity. Files with zero byte size will be removed regardless of whether or not they have been transferred.

DataType: SOSOptionStringValueList
Default-Value: yes

DataType: SOSOptionStringValueList
Default-Value: yes

XML Code to configurate the job
  <job
    title = "Client for JobScheduler Advanced Data Exchange"
    order = " yes "
>
    <description>
        <include file = "jobs/JADE-Client.xml">
    </description>
    <params>
        <param name="account" value="">
        <param name="alternative_account" value="">
        <param name="alternative_host" value="">
        <param name="alternative_passive_mode" value="">
        <param name="alternative_password" value="">
        <param name="alternative_port" value="">
        <param name="alternative_remote_dir" value="">
        <param name="alternative_transfer_mode" value="">
        <param name="alternative_user" value="">
        <param name="append_files" value="">
        <param name="atomic_prefix" value="">
        <param name="atomic_suffix" value="">
        <param name="banner_footer" value="">
        <param name="banner_header" value="">
        <param name="check_interval" value="">
        <param name="check_retry" value="">
        <param name="check_size" value="">
        <param name="compress_files" value="false">
        <param name="compressed_file_extension" value=".gz">
        <param name="file_path" value="">
        <param name="file_spec" value="">
        <param name="ssh_auth_file" value="">
        <param name="ssh_auth_method" value="">
        <param name="ssh_proxy_host" value="">
        <param name="ssh_proxy_password" value="">
        <param name="ssh_proxy_port" value="">
        <param name="ssh_proxy_user" value="">
        <param name="force_files" value="">
        <param name="host" value="">
        <param name="local_dir" value="">
        <param name="log_filename" value="">
        <param name="mandator" value="">
        <param name="operation" value="">
        <param name="overwrite_files" value="">
        <param name="passive_mode" value="">
        <param name="password" value="">
        <param name="poll_interval" value="">
        <param name="poll_minfiles" value="">
        <param name="poll_timeout" value="">
        <param name="port" value="">
        <param name="profile" value="">
        <param name="protocol" value="">
        <param name="recursive" value="">
        <param name="remote_dir" value="">
        <param name="remove_files" value="">
        <param name="replacement" value="">
        <param name="replacing" value="">
        <param name="scheduler_host" value="">
        <param name="scheduler_job_chain" value="">
        <param name="scheduler_port" value="">
        <param name="settings" value="">
        <param name="transactional" value="">
        <param name="transfer_mode" value="">
        <param name="user" value="">
        <param name="verbose" value="">
        <param name="zero_byte_transfer" value="">
    </params>

     <script language   = " java "
             java_class = " com.sos.DataExchange.SOSDataExchangeEngineMain " >
     </script>
</job>
Releases 1.0 Version 1.7
2012-01-01 [ last Changes 2012-01-01 ]
Author kb kb sos-berlin.com
Comment
Initial Release
Resources Files
Filename Type OS Comment
sos.net.jar java all
Classes SOSFTPCommand, SOSFTP
sos.settings.jar java all
Class SOSProfileSettings
sos.util.jar java all
Classes SOSFile, SOSSchedulerLogger
commons-net-1.2.2.jar java all
Apache FTP implementation, see http://commons.apache.org/
trilead-ssh2-build211.jar java all
Trilead SFTP implementation, see http://www.trilead.com/