...
- Multiple instances of the JobScheduler Agent on the same computer can be operated, e.g. for different user accounts that jobs should be executed for.
- Any number of Agent instances can be started from the same installation, however, different ports have to be used that the Agent is listening to for requests of a JobScheduler Master.
- Create an instance startscript for each JobScheduler Agent instance.
Display feature availability StartingFromRelease 1.10.2 - Find You find a template
jobscheduler_agent_instance.(sh|cmd)-example
for an instance script in the./bin
directory of the JobScheduler Agent installation since release 1.10.2. - Here you can download Download the templates for Unix and for Windows for previous releases before 1.10.2.
- Copy this the template to
jobscheduler_agent_<port>.(sh|cmd)
where<port>
is the port that the Agent is listening to. - The instance script has first the includes setting of the environment variables and then it calls calling the Agent startscript start script (
./bin/jobscheduler_agent.(sh|cmd)
). - Configure the instance script with a text editor and set the environment variables which that are already described explained in the JobScheduler Universal Agent - Installation & Operation article.
- Now you You can start and stop etc. the JobScheduler Agent with the instance script where you no longer need to and you will not have to use command line options like such as
,-http-por
t-ip-address
,-kill-script
and-java-options
because as they are specified by the environment variables from the instance script. - On Unix you can use the instance script as a service init script in
/etc/init.d
or corresponding locations for an automated start-up and shutdown. - On Windows the instance script is used to create a service for an automated start-up and shutdown.
...
We assume that the JobScheduler Agent instance should listen to port 4445 for example.
Code Block language bash title create instance script for an Agent with port 4445 > cp ./bin/jobscheduler_agent_instance.sh-example ./bin/jobscheduler_agent_4445.sh
- Edit the
./bin/jobscheduler_agent_4445.sh
. You find the Find the environment variables of for the JobScheduler Universal Agent.
- All environment variables are still undefined commented out in the instance script so that defaults , i.e. the default values are used.
If you want to set a an environment variable then the line with the variable has to be uncommented.
SCHEDULER_HOME
This variable has to point to the installation path of the JobScheduler Universal Agent (, e.g.
/opt/sos-berlin.com/jobscheduler_agent
).
If the instance script is only exclusively used in the current./bin
directory then this variable can remain undefinedunused..Note This setting is required if the instance script is used as a service init script in
/ect/init.d
to find the Agent installation!SCHEDULER_USER
Sets Specifies the user account that the JobScheduler Agent is operated for. This includes running jobs with the permissions of the specified user.
Without setting this environment variable the user account that runs the start script is used.Note This setting is required if the instance script is used as a service init script in
/ect/init.d
to avoid that the Agent runs with theroot
user!SCHEDULER_HTTP_PORT
The port of the Agent. It This has to be the same value like as the suffix in the instance script basename. In this example
Code Block SCHEDULER_HTTP_PORT=4445
SCHEDULER_LOG_DIR
Set the directory where the JobScheduler Agent log file is files are created. The default location is
SCHEDULER_HOME/logs
.
It is recommended to use the same log directory for all instances. According to the Linux Filesystem Hierarchy Standard (FHS) you can set use for exampleCode Block SCHEDULER_LOG_DIR=/var/log/jobscheduler/agent
Note Make sure that the
SCHEDULER_USER
has read and write permissions inSCHEDULER_LOG_DIR
.
If you use the sameSCHEDULER_LOG_DIR
for all instances then make sure that theSCHEDULER_USER
of all instances has read and write permissions.SCHEDULER_PID_FILE_DIR
Set the directory where the JobScheduler Agent pid file is created. The default location is
SCHEDULER_LOG_DIR.
Note Make sure that the
SCHEDULER_USER
has read and write permissions in
.SCHEDULER_PID_FILE_DIR
If you use the sameSCHEDULER_PID_FILE_DIR
for all instances then make sure that theSCHEDULER_USER
of all instances has read and write permissions.SCHEDULER_WORK_DIR
The default working directory of the JobScheduler Agent is
SCHEDULER_HOME
. Here you You can set specify a different working (directory, e.g.$HOME
).- According to the shell in use you can set the environment variables except
SCHEDULER_HOME
,SCHEDULER_HTTP_PORT
andSCHEDULER_USER
in a~/.profile
or~/.bashrc
file too.
If you want to install a JobScheduler Agent service for an automated start-up and shutdown then copy this instance script to
/ect/init.d
or corresponding locations.Code Block language bash title create a service init script set automated start-up and shutdown > cp ./bin/jobscheduler_agent_4445.sh /etc/init.d/jobscheduler_agent_4445 > # on SuSe or CentOS > chkconfig jobscheduler_agent_4445 > # on Ubuntu or Debian > update-rc.d jobscheduler_agent_4445 default
Create and configure a JobScheduler Universal Agent instance on Windows
For Windows exists an installer which An installer is available for Windows that you can download here. The following describes steps explain how you to manually create an instance manually.
We assume that the JobScheduler Agent instance should listen to port 4445 for example.
Code Block language bash title create instance script for an Agent with port 4445 > copy .\bin\jobscheduler_agent_instance.cmd-example .\bin\jobscheduler_agent_4445.cmd
- Edit the
.\bin\jobscheduler_agent_4445.cmd
. You find Find the environment variables of the JobScheduler Universal Agent.
- All environment variables are still undefined commented out in the instance script so that defaults , i.e. the default values are used.
If you want to set a an environment variable then the line with the variable has to be uncommented.
SCHEDULER_HOME
This variable has to point to the installation path of the JobScheduler Universal Agent (e.g.
C:\Program Files\sos-berlin.com\jobscheduler_agent
).
This variable is only required if this instance script is moved outside the folder where the startscript start script.\bin\jobscheduler_agent.cmd
is located.
There is no reason on Windows to move this script to a different folder so this variable can normally remain undefinedunused.SCHEDULER_HTTP_PORT
The port of the Agent. It has to be the same value like as the suffix in the instance script basename. In this example
Code Block set /a SCHEDULER_HTTP_PORT=4445
SCHEDULER_LOG_DIR
Set the directory where the JobScheduler Agent log file is files are created. The default location is
SCHEDULER_HOME
/logs.
It is recommended to use the same log directory for all instances.
If the installation path of the JobScheduler Agent is located inC:\Program Files
then due to the required permissions it is recommended caused by the permissions to set this variable to a different folder, e.g.Code Block set SCHEDULER_LOG_DIR=C:\ProgramData\sos-berlin.com\jobscheduler\agent\logs
Note The JobScheduler Agent is installed as a service. Make sure that the service account has read and write permissions in
SCHEDULER_LOG_DIR
.
If you use the sameSCHEDULER_LOG_DIR
for all instances then make sure that all service accounts have read and write permissions.SCHEDULER_PID_FILE_DIR
Set the directory where the JobScheduler Agent pid file is created. The default location is
SCHEDULER_LOG_DIR.
Note The JobScheduler Agent is installed as a service. Make sure that the service account has read and write permissions in
SCHEDULER_PID_FILE_DIR
.
If you use the sameSCHEDULER_PID_FILE_DIR
for all instances then make sure that all service accounts have read and write permissions.SCHEDULER_WORK_DIR
The default working directory of the JobScheduler Agent is
SCHEDULER_HOME
. Here you You can set a different working (directory, e.g.%USERPROFILE%
).create the service with the instance script
Code Block > .\bin\jobscheduler_agent_4445.cmd install-service
- The service runs now with the local system account. Set Specify a different user account of for the service if necessaryrequired.
- For this open the
.\service\sos_jobscheduler_agent_4445w.exe
, go to the Open the Windows service panel for the service nameSOS JobScheduler Agent -port=4445
and navigate to the tab "Log On", choose "This account" and type add the account in with the form syntaxDOMAIN\USER
and the corresponding password.
- For this open the
...