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.