FtpCopy
|
Gruppe |
|
|
Konfiguration |
Pfad zu Properties-Datei in Feld Konfigurationsdatei, siehe auch ./conf/samples/FtpCopy_howto.txt. |
Beschreibung
Diese Klasse holt Massendaten per FTP ab und legt diese lokal, oder auf einem anderen FTP-Server ab. Alternativ kann auch von einem Netzlaufwerk, oder einem lokalen Verzeichnis abgeholt werden (siehe Hinweis zu Parameter channel des Elements account). Alle Einstellungen werden in einer XML-Konfigurationsdatei vorgenommen. Hinweis: Für die Werte der Parameter host, port, user, passwd, domain, channel, source_dir, pattern, destination_host, destination_port, destination_dir, destination_user, destination_passwd, destination_domain, destination_channel können in der Konfigurationsdatei System-Konstanten verwendet werden. Beispiel: host="%MY_CONSTANT%"
Element <account>
Übergeordnetes Element. Allgemeine Angaben zum Übertragungsvorgang. Attribute des Elements:
|
host |
Adresse des FTP-Servers. Dieses Attribut entfernen, wenn von einem lokalen Verzeichnis, oder Netzlaufwerk übertragen werden soll. |
|
port |
Port des FTP-Servers. |
|
user |
User für FTP-Server. |
|
passwd |
Passwort für FTP-User. |
|
domain |
Domain des FTP-Users. |
|
ctrl_file |
Wenn die Option angegeben ist, dann wird ein Verzeichnis nur verarbeitet, wenn die spezifizierte Kontrolldatei vorhanden ist. Die Kontrolldatei wird auf Quellseite gelöscht und nicht übertragen. Siehe Beispiel. |
|
smb |
Support für Samba-Verzeichnisse. Benutzen Sie UNC-Notation (source_dir="\\myServer\share\copy). Parameter channel und destination_channel für SMB-Kanäle. Siehe Beispiele. |
|
delete_files |
Falls true, werden übertragene Dateien gelöscht. |
|
source_dir |
Das Quell-Verzeichnis (muss vorhanden sein). Selbst wenn die Option delete_dir=true verwendet wird, wird dieses Verzeichnis nicht gelöscht. |
|
destination_dir |
Das Ziel-Verzeichnis (muss vorhanden sein). Selbst wenn die Option delete_dir=true verwendet wird, wird dieses Verzeichnis nicht gelöscht. |
|
destination_user |
Ziel-User. |
|
destination_passwd |
Passwort für Ziel-User. |
|
destination_domain |
Domain für Ziel-User. |
|
destination_host |
Adresse des FTP-Servers, falls das Übertragungsziel ein FTP-Server ist. |
|
destination_port |
Port des FTP-Servers, falls das Übertragungsziel ein FTP-Server ist. |
|
destination_sftp |
true, falls der Server auf den übertragen wird ein SFTP-Server ist. Default: false. |
|
destination_channel |
ID des anderen Kanals aus der Partnerverwaltung. Benutzer, Passwort und die Verschlüsselung werden aus dem SSH- oder FTP-Kanal übernommen (Partner Kennung). |
|
mode |
active oder passive. Der FTP-Transfermodus. |
|
pattern |
Das Datei-Muster der zu übertragenden Dateien. |
|
force_uppercase |
Falls true, werden die Dateinamen im Zielverzeichnis in Großschrift angegeben. |
|
force_lowercase |
Falls true, werden die Dateinamen im Zielverzeichnis in Kleinschrift angegeben. |
|
extract_zip |
Wird hier true gesetzt, dann werden ZIP-Dateien beim Kopiervorgang entpackt. |
|
verbose |
Achtung: Gilt für FTP und SFTP. Bei true werden Debug-Meldungen auf der Konsole ausgegeben. Wenn der Integration Server unter Windows als Service läuft, werden die Meldungen an die Datei logs/wrapper.log weitergeleitet. Sollte der Integration Server unter Unix/Linux im Hintergrund laufen, dann wird weitergeleitet an die Datei hub.txt. |
|
delete_dir |
Löscht bei true auch ein übertragenes Verzeichnis. Funktioniert, vor allem bei lokalen Verzeichnissen, nur, wenn das Verzeichnis leer ist. |
|
delete_target_dir |
Bei true wird versucht das Zielverzeichniss vor dem Einfügen zu löschen, falls es vorhanden ist. Dies ist nur möglich wenn das Zielverzeichnis ein FTP-Verzeichnis ist. Wird nicht beim Root-Verzeichnis angewendet. |
|
binary |
Falls true, wird der Binärmodus für die Übertragung verwendet. |
|
sftp |
true, falls der Server von dem abgeholt wird ein SFTP-Server ist. Default: false. |
|
channel |
ID des Kanals aus der Partnerverwaltung. Benutzer, Passwort und die Verschlüsselung werden aus dem SSH- oder FTP-Kanal übernommen (Eigene Kennung). Achtung: Der Parameter darf nicht verwendet werden, wenn von einem Netzlaufwerk oder lokalen Verzeichnis abgeholt wird. |
Element <exclude_dir>, oder wahlweise Element <include_dir>
Mit <exclude_dir> kann man Verzeichnisse angeben, die explizit ausgeschlossen werden beim Kopiervorgang. Alternativ kann man mit <include_dir> Verzeichnisse angeben, die explizit eingeschlossen werden. Attribute der beiden Elemente:
|
delete |
true oder false. Gibt an, ob gelöscht werden soll. |
Element <exclude_file>
Mit <exclude_file> kann man Dateien angeben, die explizit ausgeschlossen werden beim Kopiervorgang. Attribute des Elements:
|
delete |
true oder false. Gibt an, ob gelöscht werden soll. |
Element <replace>
Hiermit kann man Ersetzungen in Dateinamen vornehmen. Diese Ersetzungen funktionieren jedoch nicht bei Verzeichnisnamen. Attribute des Elements:
|
old_value |
Zu ersetzende Zeichen. |
|
new_value |
Ersetzungszeichen. |
Beispiel
<config> <!-- force_lowercase="true" forces the destination file name to be written in lower case; force_uppercase="true" for upper case --> <account enter_empty_dir="false" host="localhost" port="21" user="ftp" passwd="ftp" delete_files="true" source_dir="/" destination_dir="/tmp/ftp" mode="passive" pattern="*" force_uppercase="false" force_lowercase="false" binary="true"> <!-- do not copy folders with the following names... --> <exclude_dir>test</exclude_dir> <exclude_dir>invoices</exclude_dir> <!-- here are replacements instructions --> <replace old_value=" " new_value="_"/> <replace old_value="ä" new_value="ae"/> <replace old_value="hello" new_value="world"/> <!-- here is an exclude list of file pattern and wether to delete it or not --> <exclude_file delete="true">~*</exclude_file> <!-- do not copy ~files and remove it locally --> <exclude_file delete="false">*.tmp</exclude_file> <!-- do not copy *.tmp files and do not delete it locally --> </account></config>Ausgabe
Die Ausgabe erfolgt im CSV-Format, in der Kodierung 8859_1. Für jedes <account>-Element wird ein Datenblatt erzeugt. Im Folgenden ein Beispiel des Ausgabe-Formats.
HOST;localhost;a_user;/OK;/fäle1.txt;/tmp/ftp/faele1.txtOK;/dir1/file2.txt;/tmp/ftp/dir1/file2.txtERR;/file3.txt;some error messagesOK;/file_4.txt;/tmp/ftp/file_4.txtJedes Datenblatt beginnt mit einer HOST-Zeile, die den Hostnamen, den Benutzernamen und das Start-Verzeichnis enthält. Danach folgen n Zeilen, beginnend mit OK, oder ERR, abhängig vom Erfolg, oder Misserfolg des Kopiervorgangs, gefolgt vom Dateinamen. Die OK-Zeile enthält den Quell-Dateinamen und den Ziel-Dateinamen. Die ERR-Zeile enthält den Dateinamen und die Fehler-Meldung.