# Task Scheduler

## Introduction

This is a module for scheduling programs to run in the background. It is a graphical user interface to `cron`, the &UNIX; system scheduler.

Don't forget to tell your system to start the `crond` cron daemon first, or the settings in this module will not work.

### Start Up

When you start this module you will see a summarized view of existing scheduled tasks and associated environment variables. If you are running as the root user, you will see these items for all users on the computer as well as the system scheduled tasks.

start up start up

#### Scheduled Tasks

Scheduled tasks appear under a Tasks list. For each scheduled task, the following items are displayed:

Scheduling

- In this column either "@reboot" for task schedules at boot or the crontab entry is displayed.

Command

- Program file and parameters.

Status

- Enabled or Disabled.

Description

- A description for the task, such as its purpose.

Scheduling Details

- Natural language description of scheduled task.

#### Environment Variables

Environment variables appear in the Environment Variables list. For each environment variable, the following are displayed:

Variable

- Variable name.

Value

- Variable value.

Status

- Enabled or Disabled.

Comment

- Natural language description of variable.

Environment variables appearing here will override any existing environment variable for all scheduled tasks.

### Adding Scheduled Tasks

To create a new scheduled task, click the New Task... button. Alternatively, you can select this action from the right mouse button context menu.

#### The Edit Task Dialog

Edit Task dialog. Edit Task dialog

Command

- Enter the name of the program. You can specify either a relative path or absolute path. If you want to look up the program, click Browse icon.

Comment

- Enter a description of the task to schedule.

Enable this task

- To enable or disable the task, select or de-select this button.

Run at system boot-up

- Check this button to run the task at system boot-up.

Run every day

- If you want to schedule the task to run daily, select this button.

Months

- Select the months during which the task is to be scheduled.

Days of Month

- Select the days of the month on which the task is to be scheduled.

Days of Week

- Select the days of the week on which the task is to be scheduled.

Hours

- Select the hours on which the task is to be scheduled.

Minutes

- Select the minute at which the task is to be scheduled. `cron` does not support scheduling tasks at smaller than one minute intervals.

OK

- Completes the creation of this task.

Cancel

- Cancels the creation of this task.

If you select both days of the month, and days of the week, the task will run when either condition is met. For instance, if you select the 1st and 15th, and select Sunday, the program will be run every 1st and 15th of the selected months (regardless of day of week) as well as every Sunday of the selected months (regardless of day of the month).

The scheduled task is not actually set up until the `crontab` has been saved.

### Managing Scheduled Tasks

As with creating new tasks, changes to tasks will not actually be made until the `crontab` is saved.

Use the buttons at the right of the task list to modify, delete, print or run a selected task now. You reach all these actions from the context menu as well. Additionally the context menu provides actions to cut, copy and paste tasks.

### Adding Environment Variables

To create a new environment variable, click the New Variable... button.

Alternatively, you can use the right mouse button menu to choose this action.

#### The Edit Variable dialog

Edit Variable dialog. Edit Variable dialog.

Variable

- Enter the environment variable name. You can use the drop down list box to select from the most common environment variables used by scheduled tasks. Those include:

  HOME

- To be used instead of the default user's home folder.

MAILTO

- To send email output to an email address other than the user's default email address.

PATH

- To be used to search folders for program files.

SHELL

- To be used instead of the user's default value.

LD_CONFIG_PATH

- The location of dynamic libraries. This allows cron jobs to execute applications which have libraries they need to run installed outside the system library path.

Value

- Enter the environment variable value.

Comment

- Enter a description for the environment variable, such as its purpose.

Enable this variable

- To enable or disable the variable, select or de-select this button.

OK

- Completes the setting of this variable.

Cancel

- Cancels the setting of this variable.

The environment variable is not actually set up until the `crontab` has been saved.

### Managing Environment Variables

As with creating new variables, changes to variables will not actually be made until the `crontab` is saved.

Use the buttons at the right of the variable list to modify or delete a selected variable. You reach all these actions from the context menu as well. Additionally the context menu provides actions to cut, copy and paste variables.