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
- Example for YADE cascaded profiles
- YADE Implementation Architecture
- Example for YADE JITL Job with Credential Store