High Availability Cron Configuration

last updated on: October 17, 2022

In Access Anywhere appliance 2106 and newer, Access Anywhere's cron configuration in HA setups was adjusted. In this version, a new cron task was added that is expected to be executed on all nodes of a HA deployment .

Checking 2106 Specific Cron Task

The upgrade process to 2106 automatically adds the cron-task to all nodes where the update is performed.

To check if the cron task is running, execute the following as the root user:

crontab -u smestorage -l 

A number of cron tasks will be listed. Some of these may be commented out, however to validate we have the new cron task, look for the following line:

* * * * * /var/www/smestorage/cron/scheduler_syncnodes.pl

Any line that begins with a hash mark ('#') in the crontab is “commented out” and will do nothing. These can be left in place or removed at the administrator's discretion without affecting the functioning of the remaining cron tasks.

Two Kinds of Nodes

For the purpose of assigning cron tasks there are two kinds of node in an HA Access Anywhere Installation:

Designated cron node - A single node on which Access Anywhere software is installed and maintained and that has been selected to run Access Anywhere cron jobs that should run on only one node. It will also run logroller and the new scheduler_syncnodes task, both of which should run on all Access Anywhere nodes

Other nodes - All other nodes (all nodes that are not the designated cron node) on which Access Anywhere software is installed and maintained. These other nodes run only logroller and the new scheduler_syncnodes task.

Complete Crontab configuration

The sections below summarise how the 'crontab' should be configured for your other nodes and your designated cron node.

Designated Cron Node

On your node running your cron tasks, your crontab should reflect the following:

MAILTO=''
#Ansible:
* * * * * /var/www/smestorage/cron/scheduler_minute.pl
#Ansible: #3
5 4 * * * /var/www/smestorage/cron/scheduler_daily.pl
#Ansible: #2
* * * * * /var/www/smestorage/cron/taskmanager.pl
#Ansible: #5
10 2 1 * * /var/www/smestorage/cron/scheduler_monthly.pl
#Ansible: #4
5 * * * * /var/www/smestorage/cron/scheduler_hour.pl
#Ansible: #7
30 1 * * * /var/www/smestorage/cron/logroller.pl
#Ansible: #6
10 * * * * /var/www/smestorage/cron/scheduler.pl
* * * * * /var/www/smestorage/cron/scheduler_syncnodes.pl

Other Nodes

On that are not the designated cron node, your configuration should reflect the following:

MAILTO=''
#Ansible:
#* * * * * /var/www/smestorage/cron/scheduler_minute.pl
#Ansible: #3
#5 4 * * * /var/www/smestorage/cron/scheduler_daily.pl
#Ansible: #2
#* * * * * /var/www/smestorage/cron/taskmanager.pl
#Ansible: #5
#10 2 1 * * /var/www/smestorage/cron/scheduler_monthly.pl
#Ansible: #4
#5 * * * * /var/www/smestorage/cron/scheduler_hour.pl
#Ansible: #7
30 1 * * * /var/www/smestorage/cron/logroller.pl
#Ansible: #6
#10 * * * * /var/www/smestorage/cron/scheduler.pl
* * * * * /var/www/smestorage/cron/scheduler_syncnodes.pl

There must always be exactly one cron node per Access Anywhere cluster. If the node that was acting as the cron node ceases to be available as part of the cluster, another node must be made the cron node.