Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents
outlinh1. true
outlinh1. true
1printablefalse
2stylh1. none
3indent20px

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
languagetext
 [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 Client one must YADE Client CLI you could type:

Code Block
languagebash
 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 reuse profiles organise profile fragments like this:

Code Block
languagetext
 [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 time times as needed. There is a "globals" profile as well.

Now we will specify the profile againusing fragments:

Code Block
languagetext
 [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 hast profile fragments have to be defined in the same settings file.

See also