Important

Follow the steps described in the following parts of this installation guide before starting to install the JobScheduler Master:

Installation Using the Setup Program

The following archive files including installer are available from the SOS Web-Site and from Source Forge:

  • jobscheduler_linux-x64.[release].tar.gz for Linux 64-Bit
  • jobscheduler_linux-x86.[release].tar.gz for Linux 32-Bit
  • jobscheduler_windows-x64.[release].zip for Microsoft Windows 64-Bit 
  • jobscheduler_windows-x86.[release].zip for Microsoft Windows 32-Bit

Where [release] is the JobScheduler version number.

Unpack the archive into an arbitrary directory and change to the extracted directory ./jobscheduler.[release].

The installer can be started as a dialog or in batch mode (see Batch Installation). If you use the installer as a dialog on Unix then you will require an X-Server. Use Batch Installation if an X-Server is not available.

To start the installer enter the following in a terminal window:

Example: Start Installer on Unix®
/tmp/jobscheduler.[release]> ./setup.sh
Example: Start Installer on Microsoft® Windows®
c\windows\Temp\jobscheduler.[release]>setup.cmd


The setup requires administrator privileges on Microsoft Windows. The setup will open a dialog for this on Windows if necessary. On Unix a sudo prompt will open. Don't log in as root on Unix but use sudo.

Under Unix, root privileges are not required. If you want to install the JobScheduler without root privileges, then call:

Example: Start installer on Unix® without root permissions
/tmp/jobscheduler.[release]> ./setup.sh -u

Procedure Overview

The setup dialog starts with the selection of the language to be used in the setup. This is followed by a greeting, acceptance of the license conditions and the specification of the two installation directories that are required. The binaries and libraries are stored under the first directory.The configuration and log files are stored under the second.

For the rest of this installation guide the first installation directory will be referred to as $SCHEDULER_HOME and the second as $SCHEDULER_DATA.

Specification of the installation directories is followed by the Package Selection dialog. The forms which are subsequently presented for the configuration of the JobScheduler depend on the packages which are selected for installation alongside the JobScheduler. Further details of the JobScheduler configuration are to be found in the Setup Forms section.

After selection of the required packages, the necessary files are copied into the installation directories. After this, the scripts that configure the installation packages are executed. The processing of the installation scripts run during the setup is logged. This log file is to be found in the folder $SCHEDULER_DATA/logs and is named Install_V[release]_[date][time]_[series number].log

The JobScheduler Operations Center (JOC) interface can be accessed after the setup by entering the following URL in a web browser (Firefox , Microsoft Edge®, Chrome® are supported):

  • http://localhost:[port] where [port] is the port specified for the JobScheduler instance during setup.

The JOC Cockpit interface has to be installed separately to the JobScheduler. After both have been installed the JobScheduler can be accessed after the setup by entering the following URL in a web browser (Firefox , Microsoft Edge® & Internet Explorer®, Chrome® are supported): 

  • http://localhost:[port]/joc/ where [port] is the HTTP/HTTPS port specified for the JobScheduler instance during setup.

Licenses

The JobScheduler is available with a dual licensing model: the GNU GPL 2.0 license and a commercial license are available for Microsoft Windows and Linux.


If you choose the commercial license then an input field is shown to enter the license key. The license key will be written in the file $SCHEDULER_DATA/config/sos.ini. If you have problems with the license key you can continue with the installation and edit the $SCHEDULER_DATA/config/sos.ini later.

Installation Paths

The setup requires the paths to two directories. A sub-directory named with the JobScheduler ID will then be added to both these directories later in the installation procedure. The JobScheduler ID will be entered later on.

Step 5: The Installation Path

The binaries and libraries are stored in this first directory, which will be referred to as $SCHEDULER_HOME in the rest of this installation guide. The default paths to this directory are:

Step 6: The Configuration and Log File Path
 

The configuration and log files are stored in this second directory, which will be referred to as $SCHEDULER_DATA in the rest of this installation guide. The default paths to this directory are:

Setup Packages

The following packages may be selected during setup:

  • JobScheduler 
    • This is the basic package and must be installed. The package contains JobScheduler Operations Center (JOC) which is an Ajax based interface for monitoring and controlling the JobScheduler objects, such as Jobs, Job Chains and Orders. Further the package contains JobScheduler Object Editor (JOE) to create, edit and maintain the JobScheduler objects and JobScheduler Information Dashboard (JID), which provides an overview of the jobs planned and those that have successfully been completed. 
  • Database Support 
  • Housekeeping Jobs 
    • Housekeeping Jobs are automatically carried out by the JobScheduler, for example, re-sending temporarily stored protocol mails after a mail server failure; deleting temporary files or restarting the JobScheduler automatically. In addition, the Housekeeping Jobs package enables the JobScheduler to be configured as an event handler.

Package selection is made using the following dialog form:

Setup Forms

The number of forms shown during setup depends on the packages which have been chosen for installation and on the database configuration.

Network Configuration

  • The JobScheduler ID

    • The JobScheduler ID is entered in the JobScheduler ID input box. Avoid special characters such as  / \ : ; * ? ! $ % & " < > ( ) | ^
    • The ID is used on Microsoft Windows as the name of the JobScheduler service after setup. The service name will have the syntax sos_scheduler_[scheduler_id].
    • The JobScheduler ID must be unique over all installed JobSchedulers. (Unless you are building a cluster, in which case all JobScheduler Masters have the same ID. See JobScheduler Master Installation - 10 - Cluster Installation for more information.)
    • In addition, the JobScheduler ID is used as a subdirectory name in the both the $SCHEDULER_HOME and $SCHEDULER_DATA installation paths.
    • The JobScheduler ID is written to the $SCHEDULER_HOME/bin/jobscheduler_environment_variables.(cmd|sh) file and can be changed manually later on.
  • The JobScheduler Ports

    • The JobScheduler Port is used for TCP communication with the JobScheduler.
    • The JobScheduler HTTP Port is used for HTTP communication by the JobScheduler Web Services e.g. for JOC Cockpit. 
      • This port must be unique for each JobScheduler Master being operated either standalone or as a cluster member. 

    • The Port entries are written to the $SCHEDULER_DATA/config/scheduler.xml file and can be changed manually later on.
  • The Allowed Host 

    • This field is required as a security feature of the JobScheduler, whereby communication can be restricted to particular computers. This feature is explained in more detail in the JobScheduler allowed_host documentation.
    • The Allowed Host entry is also written to the $SCHEDULER_DATA/config/scheduler.xml file and can be changed manually later on.

Mail and SMTP Configuration

The SMTP Server is specified in this form, along the mail sender, recipient and CC and BCC recipients if required. Multiple addresses are possible and should be separated by commas.

Values entered in this form are saved in the $SCHEDULER_DATA/config/factory.ini file, which can be changed manually later on.

 Mail Notification & Event Handling

This form is used to specify the conditions under which the JobScheduler should automatically forward job log files by e-mail. 

The entries made using this form are saved in the $SCHEDULER_DATA/config/factory.ini file, which can also be changed manually later on.

The lower part of this form is only shown when the Housekeeping Package was selected in the Setup Packages form and is used to specify whether the JobScheduler is to be configured as an event handler. Relevant objects will be created in $SCHEDULER_DATA /config/live/sos/events folder. This is explained in more detail in the Events documentation.

Note that the JobScheduler can alternatively be integrated with a system monitor that can be used to send notifications - see the Monitoring article for more information.

The JobScheduler Database Configuration Forms

Standalone / Cluster Configuration

The radio buttons in the form shown above determine the architecture in which the JobScheduler Master is to be installed. The following options are available:

See also JobScheduler Master Installation - 10 - Cluster Installation.

You can change the architecture later (see here).

The JobScheduler Database Management System

The database system is specified in the upper selection on this form. It is recommended that the box in the center of the form remains checked, so that the script which creates and fills the necessary database tables can be executed. Alternatively, the database tables can be be changed manually later on.

The JobScheduler Database Connection

The access parameters for the JobScheduler database are specified in the upper part of this form. The database connection configuration is saved in three locations: 

  • $SCHEDULER_DATA/config/factory.ini
  • $SCHEDULER_DATA/config/hibernate.cfg.xml and 
  • $SCHEDULER_DATA/config/sos_settings.ini files. 

All files can be changed manually if required.

Configuring the JDBC Driver-URL for Oracle RAC databases

The JDBC driver URL for Oracle RAC databases should be entered in the Host field of the database connection form. For example:

  • jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS_LIST=(LOAD_BALANCE=OFF)(FAILOVER=ON) 
    (ADDRESS=(PROTOCOL=TCP)(HOST=tst-db1.myco.com)(PORT=1604)) 
    (ADDRESS=(PROTOCOL=TCP)(HOST=tst-db2.myco.com)(PORT=1604))) 
    (CONNECT_DATA=(SERVICE_NAME=mydb1.myco.com)(SERVER=DEDICATED)))

In addition the Schema and Port fields should be left empty.

The JDBC Driver

The JDBC driver to be used is specified in the middle part of the form:

  • The jTDS JDBC® driver delivered with the JobScheduler is only shown as an option when Sybase® or Microsoft SQL Server® DBMSs have been specified.
  • If you have specified a MySql® DBMS then you will get a checkbox for specifying whether you want to use the MariaDB® JDBC® driver provided with the JobScheduler. 
  • If you do not check the jTDS JDBC® or the MariaDB JDBC drivers then you must enter your own JDBC® driver in the form shown below. 

This dialog form is offered for:

  • ... IBM® DB2. 
  • ... MySql® when Use the MariaDB® JDBC® driver for MySql® databases was not checked. 
  • ... Microsoft® SQL Server or Sybase when Use the jTDS JDBC® driver for Sybase and Microsoft® SQL Server databases was not checked.
  • ... Oracle® when Existing Oracle® JDBC® should be used was not checked.

The script for the creation of the database tables is started by the setup program and requires a JDBC® driver appropriate to the database system being used. See the Overview and Requirements part of this installation guide for information about the database driver required by the JobScheduler Master. The driver for PostgreSQL and an Oracle ojdbc6 driver are included in the setup. However, the relevant IBM® DB2, MySql®, Sybase, Microsoft® SQL Server and an Oracle® ojdbc7 JDBC® driver must be manually specified here. Note that for Microsoft® SQL Server and Sybase databases the jTDS JDBC® driver and for MySql® the MariaDB® JDBC® driver that is delivered as part of the JobScheduler setup can be used when the appropriate checkbox in the previous form was activated.

Note that for IBM® DB2 you have to provide a license file for the driver. As this driver will also be required by the JobScheduler later on, it is copied by the setup into the $SCHEDULER_HOME /lib/user_lib folder.

The Reporting Database Configuration Forms

Reporting information can be stored in the same database as used by the JobScheduler Master, which was configured in the steps described above, or in a separate database, possibly using another DBMS.

Unchecking the JobScheduler and Reporting Databases are the same box in the form shown below will allow the fields for configuring a separate reporting database to be shown. 

If a separate reporting database is to be used then a second form for the Reporting database will be shown in which the database connection for the Reporting Database will be specified. The configuration information entered in this step is identical to that already specified for the JobScheduler Database Connection and need not be repeated here. (See above.)