General set-up for example

To setup the YADE JITL job with the Credential Store, we need KeePassX version 1.0 DB and the jade_settings.ini file.

- The KeePassX DB and the jade_settings.ini file can be stored anywhere on the file system that is accessible to JobScheduler.
- The YADE JITL job can be used as standalone job or as order job.
- To keep the example simple we have put the KeePassX DB and jade_settings.ini at JOBSCHEDULER_HOME/examples and configured the YADE JITL job as a standalone job.
- In the YADE profiles set the KeePassX DB's absolute path as per as your JOBSCHEDULER_HOME, but relative path is also possible.
- The feature credential store is supported in/after version YADE 1.7.4177
- The Keepassx DB version 1.0 is the version for an encrypted file/database created by KeePassx called *kdb. 
  JS supports only kdb files created by KeePassx, as of now KeePassX by default generate kdb version 1.0 files.
- The KeePassX files created by version 1.0 are not compatible with the version 2.0 clients. 
  Version 1.0 files edited/updated with version 2.0 Keepass client will render the kdb file unusable as YADE credential store. 

 

1. Create an examples directory at the root of the JobScheduler installation or $SCHEDULER_HOME.

2. Create a KeePassX version 1.0 database with the entries containing the server authentication data, i.e. hostname, username, password etc in the $SCHEDULER_HOME/examples directory, as shown in the following screenshot:

3. Create a jade_settings.ini file in the $SCHEDULER_HOME/examples directory and add the profile listed below to the jade_settings.ini file.

Copy from localhost to FTP server

In this use case YADE will transfer all the files present in the ${TEMP}/source directory on the localhost to the /home/test/inbound directory on the FTP server.
The FTP server settings are defined in the KeePassX database keepassX-test.kdb in an entry with the title sos/server/mp.sos.

YADE profile

[copy_localhost2server_with_cs]
file_spec                         = .*
operation                         = copy
verbose                           = 9
;;
source_protocol                   = local
source_host                       = localhost
source_dir                        = $\{TEMP\}/source
source_make_dirs                  = true
;;
target_use_credential_Store       = true
target_CredentialStore_FileName   = C:\Program Files\sos-berlin.com\jobscheduler.1.6.4043\djsmp02_4445\examples\keepassX-test.kdb
target_CredentialStore_password   = testing
target_CredentialStore_KeyPath    = sos/server/mp.sos
;;
target_dir                        = /home/test/inbound
target_make_dirs                  = true
target_protocol                   = ftp
target_transfer_mode              = ascii

JobScheduler jade_copy_localhost2server_with_cs.job.xml job

The JobScheduler jade_copy_localhost2server_with_cs.job.xml JITL job can be configured with two parameters - profile and settings:

<?xml version="1.0" encoding="ISO-8859-1"?>
<job  title="Localhost to FTP server copy (API Job for JobScheduler Advanced Data Exchange)" order="no" name="jade_copy_localhost2server_with_cs">

    <description >
        <include  file="jobs/jadeJob.xml"/>
    </description>

    <params >
        <param  name="profile" value="copy_localhost2server_with_cs"/>
        <param  name="settings" value="${SCHEDULER_HOME}/examples/jade_settings.ini"/>
    </params>

    <script  language="java" java_class="sos.scheduler.jade.JadeJob"/>

    <run_time />
</job>

YADE Command Line Interface (CLI) Client example

The jade_settings.ini profiles can be called from the JobScheduler JITL job or from the YADE CLI Client.
See the YADE CLI Client example below.

C:\Program Files\sos-berlin.com\jade\jade_client_1.6.4043\bin>set CS_HOME=C:\Program Files\sos-berlin.com\jobscheduler.1.6.4043\djsmp02_4445\examples

C:\Program Files\sos-berlin.com\jade\jade_client_1.6.4043\bin>jade.cmd -settings="%CS_HOME%"/jade_settings.ini -profile=copy_server2localhost_with_cs

Copy from FTP server to localhost

YADE profile

[copy_server2localhost_with_cs]
file_spec                         = .*
operation                         = copy
verbose                           = 9
;;
source_use_credential_Store       = true
source_CredentialStore_FileName   = C:\Program Files\sos-berlin.com\jobscheduler.1.6.4043\djsmp02_4445\examples\keepassX-test.kdb
source_CredentialStore_password   = testing
source_CredentialStore_KeyPath    = sos/server/homer2.sos
;;
source_dir                     = /home/test/outbound
source_make_dirs               = true
source_protocol                = ftp
source_transfer_mode           = ascii
;;
target_protocol                = local
target_host                    = localhost
target_dir                     = $\{TEMP\}/target
target_make_dirs               = true

JobScheduler jade_copy_server2localhost_with_cs.job.xml job

<?xml version="1.0" encoding="ISO-8859-1"?>
<job  title="FTP Server to Localhost Copy (API Job for JobScheduler Advanced Data Exchange)" order="no" name="jade_copy_server2localhost_with_cs">

    <description >
        <include  file="jobs/jadeJob.xml"/>
    </description>

    <params >
        <param  name="profile" value="copy_server2localhost_with_cs"/>
        <param  name="settings" value="${SCHEDULER_HOME}/examples/jade_settings.ini"/>

    </params>

    <script  language="java" java_class="sos.scheduler.jade.JadeJob"/>

    <run_time />
</job>

YADE Command Line Interface (CLI) Client example

The jade_settings.ini profiles can be called from the JobScheduler JITL job or from the YADE CLI Client.
See the YADE CLI Client example below.

C:\Program Files\sos-berlin.com\jade\jade_client_1.6.4043\bin>set CS_HOME=C:\Program Files\sos-berlin.com\jobscheduler.1.6.4043\djsmp02_4445\examples

C:\Program Files\sos-berlin.com\jade\jade_client_1.6.4043\bin>jade.cmd -settings="%CS_HOME%"/jade_settings.ini -profile=copy_server2localhost_with_cs

Server-2-Server copy

A unique feature of YADE is the ability to copy data from server A to server B without touchdown (Server-2-Server / S2S file transfer).

In this use case YADE will transfer all the files from the /home/test/outbound directory on server homer2 to the /home/test/inbound directory on server mp.sos.

YADE profile

[copy_p2p_with_cs]
file_spec                         = .*
operation                         = copy
verbose                           = 9
;;
source_use_credential_Store       = true
source_CredentialStore_FileName   = C:\Program Files\sos-berlin.com\jobscheduler.1.6.4043\djsmp02_4445\examples\keepassX-test.kdb
source_CredentialStore_password   = testing
source_CredentialStore_KeyPath    = sos/server/homer2.sos
source_dir                        = /home/test/outbound
source_make_dirs                  = true
source_protocol                   = ftp
source_transfer_mode              = ascii
;;
target_use_credential_Store       = true
target_CredentialStore_FileName   = C:\Program Files\sos-berlin.com\jobscheduler.1.6.4043\djsmp02_4445\examples\keepassX-test.kdb
target_CredentialStore_password   = testing
target_CredentialStore_KeyPath    = sos/server/mp.sos
target_dir                        = /home/test/inbound
target_make_Dirs                  = true
target_protocol                   = ftp
target_transfer_mode              = ascii

JobScheduler jade_p2p_with_cs.job.xml job

<?xml version="1.0" encoding="ISO-8859-1"?>
<job  title="Point-2-Point Transfer ( API Job for JobScheduler Advanced Data Exchange)" order="no">

    <description >
        <include  file="jobs/jadeJob.xml"/>
    </description>

    <params >
        <param  name="profile" value="copy_p2p_with_cs"/>
        <param  name="settings" value="${SCHEDULER_HOME}/examples/jade_settings.ini"/>

    </params>

    <script  language="java" java_class="sos.scheduler.jade.JadeJob"/>

    <run_time />
</job>

YADE Command Line Interface (CLI) client example

The jade_settings.ini profiles can be called from the JobScheduler JITL job or from the YADE CLI Client.
See the YADE CLI Client example below.

C:\Program Files\sos-berlin.com\jade\jade_client_1.6.4043\bin>set CS_HOME=C:\Program Files\sos-berlin.com\jobscheduler.1.6.4043\djsmp02_4445\examples

C:\Program Files\sos-berlin.com\jade\jade_client_1.6.4043\bin>jade.cmd -settings="%CS_HOME%"/jade_settings.ini -profile=copy_p2p_with_cs

Copy from localhost to SFTP server

For the SFTP protocol the YADE can either use password authentication or private/public key authentication.
The SFTP authentication method can be specifed using the parameters source_ssh_auth_method resp. target_ssh_auth_method  and the values password or publickey

YADE profile

[copy_localhost2SftpServer_with_cs]
file_spec                         = .*
operation                         = copy
verbose                           = 9
;;
source_protocol                   = local
source_host                       = localhost
source_dir                        = ${TEMP}/source
source_make_dirs                  = true
;;
target_use_credential_Store       = true
target_CredentialStore_FileName   = C:\Program Files\sos-berlin.com\jobscheduler.1.6.4043\djsmp02_4445\examples\keepassX-test.kdb
target_CredentialStore_password   = testing
target_CredentialStore_KeyPath    = sos/server/sftp_homer.sos
;;
target_protocol                   = sftp
target_dir                        = /home/test/inbound
target_ssh_auth_method            = password
target_make_dirs                  = true
target_transfer_mode              = ascii

JobScheduler jade_copy_localhost2SftpServer_with_cs job

<?xml version="1.0" encoding="ISO-8859-1"?>
<job  title="Localhost to SFTP server copy (API Job for JobScheduler Advanced Data Exchange)" order="no" name="jade_copy_localhost2SftpServer_with_cs">

    <description >
        <include  file="jobs/jadeJob.xml"/>
    </description>

    <params >
        <param  name="profile" value="copy_localhost2SftpServer_with_cs"/>

        <param  name="settings" value="$\{SCHEDULER_HOME\}/examples/jade_settings.ini"/>
    </params>

    <script  language="java" java_class="sos.scheduler.jade.JadeJob"/>

    <run_time />
</job>

YADE Command Line Interface (CLI) client example

The jade_settings.ini profiles can be called from JobScheduler JITL job or from the YADE CLI Client.
See the YADE CLI Client example below.

C:\Program Files\sos-berlin.com\jade\jade_client_1.6.4043\bin>set CS_HOME=C:\Program Files\sos-berlin.com\jobscheduler.1.6.4043\djsmp02_4445\examples

C:\Program Files\sos-berlin.com\jade\jade_client_1.6.4043\bin>jade.cmd -settings="%CS_HOME%"/jade_settings.ini -profile=copy_localhost2SftpServer_with_cs

See also

  1. Example for YADE cascaded profiles
  2. YADE Implementation Architecture
  3. Example for YADE JITL Job with Credential Store