---
title: Running task-based tools
description: The server has a Tasks subsystem that allows you to schedule basic operations, such as backup, restore, rotate-log, schedule-exec-task, stop-server, and others. All task-based tools require the --task option that explicitly indicates the tool is to run as a task rather than in offline mode.
component: pingdirectory
version: 11.0
page_id: pingdirectory:pingdirectory_server_administration_guide:pd_ds_run_task_based_tools
canonical_url: https://docs.pingidentity.com/pingdirectory/11.0/pingdirectory_server_administration_guide/pd_ds_run_task_based_tools.html
revdate: July 15, 2024
page_aliases: ["pingdirectoryproxy_server_administration_guide:pd_proxy_run_task_based_tools.adoc", "pingdatasync_server_administration_guide:pd_sync_run_task_based_tools.adoc"]
---

# Running task-based tools

The server has a Tasks subsystem that allows you to schedule basic operations, such as `backup`, `restore`, `rotate-log`, `schedule-exec-task`, `stop-server`, and others. All task-based tools require the `--task` option that explicitly indicates the tool is to run as a task rather than in offline mode.

The following table shows the options that you can use for task-based operations:

**Options for task-based operations**

| Option                              | Description                                                                                                                                                                                                                                                                                                                                                                                                     |
| ----------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `--task`                            | Indicates that the tool is invoked as a task. The `--task` option is required. If you invoke a tool as a task without this `--task` option, then a warning message is displayed stating that it must be used. If the `--task` option is provided but the tool was not given the appropriate set of authentication arguments to the server, then an error message is displayed and the tool exits with an error. |
| `--start <startTime>`               | Indicates the date and time, expressed in the format 'YYYYMMDDhhmmss', when the operation is to start.A value of '0' causes the task to be scheduled for immediate execution.After the scheduled run, the tool exits immediately.                                                                                                                                                                               |
| `--dependency <taskID>`             | Specifies the ID of a task upon which this task depends.A task does not start execution until all its dependencies have completed execution.You can use this option multiple times in a single command.                                                                                                                                                                                                         |
| `--failedDependencyAction <action>` | Specifies the action this task takes if one of its dependent tasks fail.Valid action values are:- `CANCEL` (default): Cancels the task.

- `DISABLE`: Disables the task so that it's not eligible to run until you manually enable it again.

- `PROCESS`: Runs the task.                                                                                                                                       |
| `--startAlert`                      | Generates an administrative alert when the task starts running.                                                                                                                                                                                                                                                                                                                                                 |
| `--errorAlert`                      | Generates an administrative alert when the task fails to complete successfully.                                                                                                                                                                                                                                                                                                                                 |
| `--successAlert`                    | Generates an administrative alert when the task completes successfully.                                                                                                                                                                                                                                                                                                                                         |
| `--startNotify <emailAddress>`      | Specifies an email address to notify when the task starts running.You can use this option multiple times in a single command.                                                                                                                                                                                                                                                                                   |
| `--completionNotify <emailAddress>` | Specifies an email address to notify when the task completes, regardless of whether it succeeded or failed.You can use this option multiple times in a single command.                                                                                                                                                                                                                                          |
| `--errorNotify <emailAddress>`      | Specifies an email address to notify if an error occurs when this task executes.You can use this option multiple times in a single command.                                                                                                                                                                                                                                                                     |
| `--successNotify <emailAddress>`    | Specifies an email address to notify when this task completes successfully.You can use this option multiple times in a single command.                                                                                                                                                                                                                                                                          |
