Modularizing Profiles: include directive

An Example Transfer Profile

A profile definition for Server-to-Server File Transfer, from an SFTP to an FTP server:

 [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 file name extension .txt should be transferred from the server wilma via SFTP to the server 8of9 by FTP. the folders are not explicitely specified and therefore the home folder of the user will be selected.

Profile Fragments

To make the profile reusable and more readable it is possible to re-use profile fragments like this:

 [wilma]
 user=kb
 password=*****
 ssh_auth_method=password
 host=wilma.sos
 protocol=sftp
 port=22

 [8of9]
 user=test
 password=*****
 host=8of9.sos
 protocol=ftp
 port=21

 [globals]
 log_filename=${TEMP}/sosftphistory.log

The profiles for wilma and 8of9 are defined just once. They could be used as many time as required in different transfer profiles. There is a globals profile as well.

Define Profiles using the include directive

Now we will specify the transfer profile with fragements:

 [ftp_server_2_server]
 source_include=wilma
 target_include=8of9
 operation=copy
 file_spec=^.*\.txt$
   
 [ftp_more]
 target_include=wilma
 source_include=8of9
 operation=move
 file_spec=^.*\.(txt|pdf|dat)$
 source_folder=/outbound/daily
 target_folder=/inbound/transfer
  • The include parameter will include the respective profiles in the order they are defined in. In the first example wilma will be included as source and in the second example as target. The globals profile is included automatically, no need to specifiy it in an include parameter.
  • The profiles have to be defined in the same settings file.