Important

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

Note that dialog forms will not appear when the JobScheduler installation is started with a parameterized XML file.
The file scheduler_install.xml included in the extracted directory ./jobscheduler.[release] can be used for this purpose. You can start the setup as follows AFTER you have edited this file with the installation paths, port, database connection, etc..

Example: Start installer on Unix® with parameter file
/tmp/jobscheduler.[release]> ./setup.sh scheduler_install.xml
Example: Start installer on Microsoft® Windows® with parameter file
c:\windows\Temp\jobscheduler.[release]>setup.cmd scheduler_install.xml

The setup requires administrator privileges on Microsoft® Windows®. The setup opens a dialog for this on Microsoft Windows if necessary.

On Unix® a sudo prompt will be opened: root privileges are not required. We recommend that you do not log in as root on Unix but use sudo.  

To install the JobScheduler without root privileges call:

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

This scheduler_install.xml mirrors all the values which can specified during a dialog setup. Please see the previous chapter to get information about all the setup settings.

Licenses

The JobScheduler is available with a dual licensing model. The GNU GPL 2.0 license is available for Microsoft Windows and Linux®, otherwise the commercial license is required. In the following part of the scheduler_install.xml file you choose the license model and enter the license key if necessary.

Example: License in scheduler_install.xml
<com.izforge.izpack.panels.UserInputPanel id="licences">

     <userInput>
     	<!-- Select the license model (GPL or Commercial) -->
             <entry key="licenceOptions" value="GPL"/>
 
     	<!-- If you selected GPL as license model than the licence must be empty. 
		     Otherwise please enter a license key if available. 
		     It is also possible to modify the license key later. -->
          <entry key="licence" value=""/>
 
     </userInput>

</com.izforge.izpack.panels.UserInputPanel>

Please read the Licenses section in the Dialog Installation chapter of this installation guide for more information.

Installation Paths

The paths to the $SCHEDULER_HOME and the $SCHEDULER_DATA directories are specified by editing the following parts of the scheduler_install.xml file.

Example: $SCHEDULER_HOME in scheduler_install.xml
<com.izforge.izpack.panels.TargetPanel id="target">
 
     <!-- SELECT THE INSTALLATION PATH FOR THE BINARIES AND LIBRARIES 
          The installation expands this path with the JobScheduler ID as subdirectory. 
          The path must be absolute! 
          Default paths are: 
               /opt/sos-berlin.com/jobscheduler for Unix® 
               C:\Program Files\sos-berlin.com\jobscheduler for Microsoft® Windows® -->
     <installpath>[:choose absolute installation path of the JobScheduler:]</installpath>
 
</com.izforge.izpack.panels.TargetPanel>
Example: $SCHEDULER_DATA in scheduler_install.xml
<com.izforge.izpack.panels.UserPathPanel id="userpath">
 
     <!-- SELECT THE DATA PATH FOR CONFIGURATION AND LOG FILES 
          The installation expands this path with the JobScheduler ID as subdirectory. 
          The path must be absolute! 
          Default paths are: 
               /home/[user]/sos-berlin.com/jobscheduler for Unix® 
               C:\ProgramData\sos-berlin.com\jobscheduler for newer Microsoft® Windows® C:\Documents and Settings\All Users\Application Data\sos-berlin.com\jobscheduler for older Microsoft® Windows® -->
     <UserPathPanelElement>[:choose absolute data path of the JobScheduler configuration and log files:]< /UserPathPanelElement>
 
</com.izforge.izpack.panels.UserPathPanel>

Please read the Installation Paths section in the in the Dialog Installation chapter of this installation guide for more information.

Setup Packages

Edit the following part of the scheduler_install.xml file to specify the packages to be installed during the setup.

Example: Packages in scheduler_install.xml
<com.izforge.izpack.panels.PacksPanel id="package">
 
          <!-- SELECT THE PACKS WHICH YOU WANT INSTALL -->
 
          <!-- Package: JobScheduler 
               JobScheduler Basic Installation 
               THIS PACK IS REQUIRED. IT MUST BE TRUE -->
          <pack index="0" name="Job Scheduler" selected="true"/>
 
          <!-- Package: Database Support Job history and log files can be stored in a database. 
               Database support is available for MySql®, PostgreSQL, Oracle® Database, Microsoft® SQL Server, IBM® DB2. 
               THIS PACK IS REQUIRED. IT MUST BE TRUE -->
          <pack index="2" name="Database Support" selected="true"/>
 
          <!-- Package: Housekeeping Jobs 
               Housekeeping Jobs are automatically launched by the JobScheduler, 
               e.g. to send buffered logs by mail, to remove temporary files or to restart the JobScheduler. -->
          <pack index="5" name="Housekeeping Jobs" selected="true"/>
 
</com.izforge.izpack.panels.PacksPanel>

Please read the section Setup Packages section in the Dialog Installation chapter of this installation guide for more information.

Network Configuration

Edit the following part of the scheduler_install.xml file to specify the network configuration for the JobScheduler.

Example: Port, ID in scheduler_install.xml
    <com.izforge.izpack.panels.UserInputPanel id="network">
        <userInput>
            <!-- Network Configuration -->
            
            <!-- Enter the port for TCP communication -->
            <entry key="schedulerPort" value="4444"/>
            
            <!-- Enter the port for HTTP communication -->
            <entry key="schedulerHTTPPort" value="40444"/>
            
            <!-- To enter a JobScheduler ID is required. 
                 The IDs of multiple instances of the JobScheduler must be unique per server. 
                 The JobScheduler ID expands the above installation paths as subdirectory.
                 Please omit special characters like: / \ : ; * ? ! $ % & " < > ( ) | ^ -->
            <entry key="schedulerId" value="scheduler"/>
            
            <!-- It is recommended to enable TCP access for the host where the JobScheduler will install, 
                 optionally enter additional host names or ip addresses. To enable all hosts in your 
                 network to access the JobScheduler enter '0.0.0.0'. -->
            <entry key="schedulerAllowedHost" value="localhost"/>
            
            <!-- Choose (yes or no) wether the JobScheduler should be started at the end of the installation -->
            <entry key="launchScheduler" value="yes"/>
            
        </userInput>
    </com.izforge.izpack.panels.UserInputPanel>

Please read the The Basic JobScheduler Forms section in the Dialog Installation chapter of this installation guide for more information..

Clusters

Specify the architecture in which the JobScheduler is to run - either standalone or in a cluster - in the following part of the scheduler_install.xml file.

Example: Cluster in scheduler_install.xml
<com.izforge.izpack.panels.UserInputPanel id="cluster"> 
 
     <userInput> 
 
          <!-- Cluster Configuration --> 
          <!-- The JobScheduler can be installed independently of other JobSchedulers, 
               as a primary JobScheduler, in a backup system or as a backup JobScheduler. 
               Note that all JobSchedulers in a backup system must have the same JobScheduler ID and the same database.
               Use the following values 
                - '' for a standalone, 
                - '-exclusive' for a primary 
                - '-exclusive -backup' for a backup JobScheduler. 
                - '-distributed-orders' for a load balancing cluster. 
               For more information see: 
                    http://www.sos-berlin.com/doc/de/scheduler.doc/backupscheduler.xml 
                    http://www.sosberlin.com/doc/de/scheduler.doc/distributed_orders.xml --> 
          <entry key="clusterOptions" value=""/> 
 
          </userInput> 
 
</com.izforge.izpack.panels.UserInputPanel>

Set the value of the clusterOptions entry element to ...

  • ... empty for a standalone JobScheduler. 
  • ... -exclusive for a primary JobScheduler in a Backup Cluster. 
  • ... -exclusive -backup for a secondary JobScheduler in a Backup Cluster. 
  • ... -distributed-orders for a member of a JobScheduler Load Balancing Cluster.

Further information about Backup Clusters can be found in the Backup JobSchedulers article, further information about Load Balancing in the Distributed Orders article.

See also the Installation of a Cluster chapter of this installation guide.

Mail Settings

Edit the following parts of the scheduler_install.xml file to configure mail notifications for the JobScheduler, if required.

Example: Mail Configuration in scheduler_install.xml
<com.izforge.izpack.panels.UserInputPanel id="smtp"> 
 
     <userInput> 
 
          <!-- Mail Recipients Configuration / SMTP Authentication --> 
 
          <!-- Enter the ip address or host name and port (default: 25) of your SMTP server --> 
          <entry key="mailServer" value=""/> 
          <entry key="mailPort" value="25"/> 
 
          <!-- Configure the SMTP authentication if necessary. --> 
          <entry key="smtpAccount" value=""/> 
          <entry key="smtpPass" value=""/> 
 
          <!-- Enter the addresses of recipients to which mails with log files are automatically forwarded. 
               Separate multiple recipients by commas --> 
          <!-- Account from which mails are sent --> 
          <entry key="mailFrom" value=""/> 
 
          <!-- Recipients of mails --> 
          <entry key="mailTo" value=""/> 
 
          <!-- Recipients of carbon copies: --> 
          <entry key="mailCc" value=""/> 
 
          <!-- Recipients of blind carbon copies --> 
          <entry key="mailBcc" value=""/> 
 
     </userInput> 
 
</com.izforge.izpack.panels.UserInputPanel>
Example: Mail Configuration der scheduler_install.xml
<com.izforge.izpack.panels.UserInputPanel id="email"> 
 
     <userInput> 
 
          <!-- Mail Configuration / Event Handler --> 
          <!-- Choose in which cases mails with log files are automatically forwarded. --> 
          <entry key="mailOnError" value="yes"/> 
          <entry key="mailOnWarning" value="yes"/> 
          <entry key="mailOnSuccess" value="no"/> 
 
          <!-- The Housekeeping package is required for configure JobScheduler as event handler 
               Choose this option if you intend to use JobScheduler Events and 
                - this JobScheduler instance is the only instance which processes Events
                - this JobScheduler instance is a supervisor for other JobSchedulers which submit Events --> 
          <entry key="jobEvents" value="off"/> 
 
     </userInput> 
 
</com.izforge.izpack.panels.UserInputPanel>

Please read TheSetup Forms section in the Dialog Installation chapter of this installation guide for more information..

The JobScheduler Database Configuration Settings 

The following parts of the scheduler_install.xml file have to be edited to configure the JobScheduler database, database connection and driver..

Example: JobScheduler Database Support in scheduler_install.xml
<com.izforge.izpack.panels.UserInputPanel id="database"> 
 
     <userInput> 
 
          <!-- JobScheduler Database Configuration.--> 
          <!-- Choose the database management system. 
               Supported values are: 
                - 'mysql' for MySql®, 
                - 'Oracle® Database' for Oracle® Database, 
                - 'mssql' for Microsoft® SQL Server, 
                - 'pgsql' for PostgreSQL, 
                - 'db2' for IBM® DB2 and 
                - 'sybase' for Sybase. --> 
          <entry key="databaseDbms" value="mysql"/> 
 
          <!-- You can choose between 'on' or 'off' to create the database tables. 
               If you have modified the initial data of an already existing installation, then the modifications will be undone. 
               Data added remains unchanged. 
               This entry should be only 'off', when you are sure that all tables have been created. --> 
          <entry key="databaseCreate" value="on"/> 
 
     </userInput> 
 
</com.izforge.izpack.panels.UserInputPanel>
Example: JobScheduler Database Connection in scheduler_install.xml
<com.izforge.izpack.panels.UserInputPanel id="dbconnection"> 
 
     <userInput> 
 
          <!-- JobSchedulerDatabase Configuration. --> 
 
          <!-- Enter the name or ip address of the database host 
                 This entry can also be used to configure the URL(s) for Oracle RAC databases.
                 For example:
                 <entry key="databaseHost" value="(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)))"/>
                 The "databaseSchema" and "databasePort" entries should then be left empty. -->
          <entry key="databaseHost" value=""/> 
          
          <!-- Enter the port number for the database instance. 
               Default ports are for 
                - MySql®: 3306, 
                - Oracle® Database: 1521, 
                - Microsoft® SQL Server: 1433, 
                - postgreSQL: 5432, 
                - IBM® DB2: 50000, 
                - Sybase: 5000. --> 
          <entry key="databasePort" value=""/> 
 
          <!-- Enter the schema --> 
          <entry key="databaseSchema" value=""/> 
 
          <!-- Enter the user name for database access --> 
          <entry key="databaseUser" value=""/> 
 
          <!-- Enter the password for database access --> 
          <entry key="databasePassword" value=""/> 
 
          <!-- You must provide the MySql®, Microsoft® SQL Server or Sybase JDBC® Driver respectively if you selected corresponding DBMS type. 
               For license reasons MySql®, Sybase and Microsoft® SQL Server JDBC® Drivers are not provided. 
               Alternatively you can use:
                - the MariaDB® JDBC® Driver for MySql® and 
                - the jTDS JDBC® Driver for Microsoft® SQL Server and Sybase which is provided.--> 
          <!-- You can choose between 'yes' or 'no' for using the jTDS JDBC® Driver 
               This entry has only an effect for Microsoft® SQL Server or Sybase --> 
          <entry key="connectorJTDS" value="yes"/> 
 
          <!-- You can choose between 'yes' or 'no' for using the MariaDB® JDBC® Driver 
               This entry has only an effect for MySql® --> 
          <entry key="connectorMaria" value="yes"/> 
 
     </userInput> 
 
</com.izforge.izpack.panels.UserInputPanel>
Example: JobScheduler Database Driver in scheduler_install.xml
<com.izforge.izpack.panels.UserInputPanel id="jdbc"> 
 
     <userInput> 
 
          <!-- JobScheduler Database Configuration -->
 
          <!-- You can specify an external JDBC connector then set internalConnector = no
               For license reasons MySQL, Sybase, MS SQL Server and Oracle ojdbc7 JDBC 
               drivers are not provided. 
               Alternatively you can use the mariadb JDBC Driver for MySQL and 
               the jTDS JDBC Driver for MS SQL Server and Sybase which is provided. 
               An Oracle ojdbc6 JDBC driver is also provided.
               An internal JDBC connector for DB2 is not available -->

          <!-- You can choose between 'yes' or 'no' for using the internal JDBC connector
               or not -->
               <entry key="internalConnector" value="yes"/>

          <!-- Select the path to JDBC® Driver --> 
               <entry key="connector" value=""/> 
 
          <!-- Only for DB2: Select the path to DB2 license file for JDBC Driver -->
               <entry key="connectorLicense" value=""/>
            
     </userInput> 
 
</com.izforge.izpack.panels.UserInputPanel>

Please read The JobScheduler Database Support Package Forms section in the Dialog Installation chapter of this installation guide for more information.

The Reporting Database Configuration Settings 

Reporting information may be saved in the same database as used by the JobScheduler Master or in a separate one. The configuration of the DBMS and DB connection for a separate reporting database is similar to that already made of the JobScheduler database. Note that a separate reporting database is not supported for Sybase or DB2 DBMSs. 

The following section of the scheduler_install.xml file specifies whether or not a separate reporting database is to be used.

Example: Reporting Database Configuration in scheduler_install.xml
<com.izforge.izpack.panels.UserInputPanel id="reportingDatabase"> 
 
   <userInput>
        <!-- Reporting Database Configuration 
             NOT SUPPORTED FOR SYBASE AND DB2 -->
            
        <!-- Set 'yes' if the JobScheduler and the Reporting database are the same.
             If 'yes' then further Reporting database variables are ignored. -->
        <entry key="sameDbConnection" value="yes"/>            
                 
        <!-- Choose the database management system. Supported values are 'mysql' for MySQL,
             'oracle' for Oracle, 'mssql' for MS SQL Server, 'pgsql' for PostgreSQL. -->
        <entry key="reporting.databaseDbms" value=""/>
            
    </userInput>

 
</com.izforge.izpack.panels.UserInputPanel>

The following two sections of the scheduler_install.xml file also have to be configured if a separate reporting database is to be used.

Example: Reporting Database Connection in scheduler_install.xml
<com.izforge.izpack.panels.UserInputPanel id="reportingDbconnection"> 
 
     <userInput> 
 
          <!-- ReportingDatabase Configuration 
               NOT SUPPORTED FOR SYBASE AND DB2 --> 
 
          <!-- Enter the name or ip address of the database host 
                 This entry can also be used to configure the URL(s) for Oracle RAC databases.
                 For example:
                 <entry key="reporting.databaseHost" value="(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)))"/>
                 The "reporting.databaseSchema" and "reporting.databasePort" entries should then be left empty. -->
          <entry key="reporting.databaseHost" value=""/>
  
          <!-- Enter the port number for the database instance. 
               Default ports are for: 
                - MySql®: 3306, 
                - Oracle® Database: 1521, 
                - Microsoft® SQL Server: 1433, 
                - postgreSQL: 5432. --> 
          <entry key="databasePort" value=""/> 
 
          <!-- Enter the schema --> 
          <entry key="reporting.databaseSchema" value=""/>  

          <!-- Enter the user name for database access --> 
          <entry key="reporting.databaseUser" value=""/> 
 
          <!-- Enter the password for database access --> 
          <entry key="reporting.databasePassword" value=""/> 
 
          <!-- You have to provide the MySQL or MS SQL Server JDBC driver respectively if you selected 
               corresponding DBMS type. For license reasons MySQL and MS SQL Server JDBC Drivers
               are not provided. Alternatively you can use the mariadb JDBC Driver for MySQL and the 
               jTDS JDBC Driver for MS SQL Server which are provided. --> 

          <!-- You can choose between 'yes' or 'no' for using the jTDS JDBC® Driver 
               This entry only affects MS SQL Server. --> 
          <entry key="reporting.connectorJTDS" value="yes"/> 
 
          <!-- You can choose between 'yes' or 'no' for using the MariaDB® JDBC® Driver 
               This entry has only an effect for MySql® --> 
          <entry key="reporting.connectorMaria" value="yes"/> 
 
     </userInput> 
 
</com.izforge.izpack.panels.UserInputPanel>
Example: Reporting Database Driver in scheduler_install.xml
<com.izforge.izpack.panels.UserInputPanel id="reportingJdbc"> 
 
     <userInput> 
 
          <!-- Reporting Database Configuration 
               NOT SUPPORTED FOR SYBASE AND DB2 -->
                 
          <!-- You can specify an external JDBC connector then set reporting.internalConnector = no
               For license reasons MySQL, MS SQL Server and Oracle ojdbc7 JDBC 
               drivers are not provided. 
               Alternatively you can use the mariadb JDBC Driver for MySQL and 
               the jTDS JDBC Driver for MS SQL Server and Sybase which is provided. 
               An Oracle ojdbc6 JDBC driver is also provided. -->
                
          <!-- You can choose between 'yes' or 'no' for using the internal JDBC connector
               or not -->
               <entry key="reporting.internalConnector" value="yes"/>
                 
          <!-- Select the path to JDBC Driver -->
               <entry key="reporting.connector" value=""/>
 
     </userInput> 
 
</com.izforge.izpack.panels.UserInputPanel>

Please read The JobScheduler Database Support Package Forms section in the Dialog Installation chapter of this installation guide for more information.