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)"]; jadeyade_client [label="Host C\nJADEnYADE Client \n API \n JITL Job"]; jadeyade_config [label="JADEYADE Configuration"]; source_server->target>yade_serverclient [label="datafile transfer"]; source_server->jade_client [dir=both label="commands" color="greygreen"]; jadeyade_client->target_server [dir=both label="commandsfile transfer" color="greygreen"]; jadeyade_config->jade>yade_client [color="greengrey"]; } |
- 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-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_spec=^.*\.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 sample example with the JADE YADE Client CLI one must you could type:
Code Block | ||
---|---|---|
| ||
jade.sh -settings=name_of_settings_file -profile=ftp_server_2_server |
To make the profile more reusable and more readable it is possible to organize profiles 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 profiles 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 againusing 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 snippets fragments in the order they are defined. The globals profile is included automatically, no need to specifiy it in an include parameter. The profiles profile fragments have to be defined in the same settings file.
See also
- YADE Implementation Architecture
- How to transfer files with YADE from Server A to Server B using polling and post-processing
- Example for YADE Server-to-Server File Transfer with polling