Server-to-Server File Transfer
Schema for Server-to-Server File Transfer without touchdown
- 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 File Transfer using SFTP for the source system and FTP for the target system:
[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 example with the YADE Client CLI you could type:
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:
[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:
[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.
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