Table of Contents | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
|
Server-to-Server File Transfer
Schema for Server-to-Server File Transfer without touchdown
Graphviz |
---|
digraph "Example: Server to Server File Transfer" { rankdir=LR; edge [fontname=Verdana,fontsize=8,color="#31CEF0"]; node [fontname=Verdana,fontsize=8]; source_server [label="Host A\nData Source (SFTP)"]; target_server [label="Host B\nData Target (FTP)"]; yade_client [label="Host C\nYADE Client \n API \n JITL Job"]; yade_config [label="YADE Configuration"]; source_server->yade_client [label="file transfer" color="green"]; yade_client->target_server [label="file transfer" color="green"]; yade_config->yade_client [color="grey"]; } |
- YADE can make use of different protocols when reading files from a source and writing files to a target system.
- Any combination of FTP, FTPS, SFTP, HTTP, WebDAV can be used for sources and targets.
- No touchdown of files on the server where YADE is located, instead all transfer operations are performed in memory.
Profile for Server-to-Server File Transfer without touchdown
...
A profile definition for Server to server transfer, from sftp to ftp-to-Server File Transfer using SFTP for the source system and FTP for the target system:
Code Block | ||
---|---|---|
| ||
[ftp_server_2_server] ssh_auth_method=password source_user=kb source_password=***** source_ssh_auth_method=password source_host=wilma.sos source_protocol=sftp source_port=22 target_user=test target_password=***** target_host=8of9.sos target_protocol=ftp target_port=21 file_path=test.txtspec=^.*\.txt$ operation=copy log_filename=$\{TEMP\}/sosftphistory.log |
In this example all files with the extension .txt should be transfered from the server wilma
via SFTP to the server 8of9
by FTP. The folder is not explicitely specified and therefore the home folder of the user will be chosen.
To start this example with the YADE Client CLI you could type:
Code Block | ||
---|---|---|
| ||
jade.sh -settings=name_of_settings_file -profile=ftp_server_2_server
|
To make the profile reusable and more readable it is possible to organise profile fragments like this:
Code Block | ||
---|---|---|
| ||
[wilma_as_source]
ssh_auth_method=password
source_user=kb
source_password=*****
source_ssh_auth_method=password
source_host=wilma.sos
source_protocol=sftp
source_port=22
[8of9_as_target]
target_user=test
target_password=*****
target_host=8of9.sos
target_protocol=ftp
target_port=21
[globals]
log_filename=${TEMP}/sosftphistory.log
|
The profile fragments for wilma
as source and 8of9
as target are defined just once. They could be used as many times as needed. There is a globals profile as well.
Now we will specify the profile using fragments:
Code Block | ||
---|---|---|
| ||
[ftp_server_2_server]
include=wilma_as_source,8of9_as_target
operation=copy
file_spec=^.*\.txt$
[ftp_more]
include=wilma_as_source,8of9_as_target
operation=move
file_spec=^.*\.(txt|pdf|dat)$
source_folder=/outbound/daily
target_folder=/inbound/transfer
|
The include parameter will include the named profile fragments in the order they are defined. The globals profile is included automatically, no need to specifiy it in an include parameter. The profile fragments have to be defined in the same settings file.