[ aws . datasync ]



Creates a task. A task is a set of two locations (source and destination) and a set of Options that you use to control the behavior of a task. If you don’t specify Options when you create a task, AWS DataSync populates them with service defaults.

When you create a task, it first enters the CREATING state. During CREATING AWS DataSync attempts to mount the on-premises Network File System (NFS) location. The task transitions to the AVAILABLE state without waiting for the AWS location to become mounted. If required, AWS DataSync mounts the AWS location before each task execution.

If an agent that is associated with a source (NFS) location goes offline, the task transitions to the UNAVAILABLE status. If the status of the task remains in the CREATING status for more than a few minutes, it means that your agent might be having trouble mounting the source NFS file system. Check the task’s ErrorCode and ErrorDetail. Mount issues are often caused by either a misconfigured firewall or a mistyped NFS server host name.

See also: AWS API Documentation

See ‘aws help’ for descriptions of global parameters.


--source-location-arn <value>
--destination-location-arn <value>
[--cloud-watch-log-group-arn <value>]
[--name <value>]
[--options <value>]
[--excludes <value>]
[--schedule <value>]
[--tags <value>]
[--cli-input-json | --cli-input-yaml]
[--generate-cli-skeleton <value>]
[--cli-auto-prompt <value>]


--source-location-arn (string)

The Amazon Resource Name (ARN) of the source location for the task.

--destination-location-arn (string)

The Amazon Resource Name (ARN) of an AWS storage resource’s location.

--cloud-watch-log-group-arn (string)

The Amazon Resource Name (ARN) of the Amazon CloudWatch log group that is used to monitor and log events in the task.

For more information on these groups, see Working with Log Groups and Log Streams in the Amazon CloudWatch User Guide.

For more information about how to use CloudWatch Logs with DataSync, see Monitoring Your Task in the AWS DataSync User Guide.

--name (string)

The name of a task. This value is a text reference that is used to identify the task in the console.

--options (structure)

The set of configuration options that control the behavior of a single execution of the task that occurs when you call StartTaskExecution . You can configure these options to preserve metadata such as user ID (UID) and group ID (GID), file permissions, data integrity verification, and so on.

For each individual task execution, you can override these options by specifying the OverrideOptions before starting a the task execution. For more information, see the operation.

VerifyMode -> (string)

A value that determines whether a data integrity verification should be performed at the end of a task execution after all data and metadata have been transferred.


POINT_IN_TIME_CONSISTENT: Perform verification (recommended).

ONLY_FILES_TRANSFERRED: Perform verification on only files that were transferred.

NONE: Skip verification.

OverwriteMode -> (string)

A value that determines whether files at the destination should be overwritten or preserved when copying files. If set to NEVER a destination file will not be replaced by a source file, even if the destination file differs from the source file. If you modify files in the destination and you sync the files, you can use this value to protect against overwriting those changes.

Some storage classes have specific behaviors that can affect your S3 storage cost. For detailed information, see using-storage-classes in the AWS DataSync User Guide .

Atime -> (string)

A file metadata value that shows the last time a file was accessed (that is, when the file was read or written to). If you set Atime to BEST_EFFORT, DataSync attempts to preserve the original Atime attribute on all source files (that is, the version before the PREPARING phase). However, Atime ‘s behavior is not fully standard across platforms, so AWS DataSync can only do this on a best-effort basis.

Default value: BEST_EFFORT.

BEST_EFFORT: Attempt to preserve the per-file Atime value (recommended).

NONE: Ignore Atime .


If Atime is set to BEST_EFFORT, Mtime must be set to PRESERVE.

If Atime is set to NONE, Mtime must also be NONE.

Mtime -> (string)

A value that indicates the last time that a file was modified (that is, a file was written to) before the PREPARING phase.

Default value: PRESERVE.

PRESERVE: Preserve original Mtime (recommended)

NONE: Ignore Mtime .


If Mtime is set to PRESERVE, Atime must be set to BEST_EFFORT.

If Mtime is set to NONE, Atime must also be set to NONE.

Uid -> (string)

The user ID (UID) of the file’s owner.

Default value: INT_VALUE. This preserves the integer value of the ID.

INT_VALUE: Preserve the integer value of UID and group ID (GID) (recommended).

NONE: Ignore UID and GID.

Gid -> (string)

The group ID (GID) of the file’s owners.

Default value: INT_VALUE. This preserves the integer value of the ID.

INT_VALUE: Preserve the integer value of user ID (UID) and GID (recommended).

NONE: Ignore UID and GID.

PreserveDeletedFiles -> (string)

A value that specifies whether files in the destination that don’t exist in the source file system should be preserved. This option can affect your storage cost. If your task deletes objects, you might incur minimum storage duration charges for certain storage classes. For detailed information, see using-storage-classes in the AWS DataSync User Guide .

Default value: PRESERVE.

PRESERVE: Ignore such destination files (recommended).

REMOVE: Delete destination files that aren’t present in the source.

PreserveDevices -> (string)

A value that determines whether AWS DataSync should preserve the metadata of block and character devices in the source file system, and recreate the files with that device name and metadata on the destination.


AWS DataSync can’t sync the actual contents of such devices, because they are nonterminal and don’t return an end-of-file (EOF) marker.

Default value: NONE.

NONE: Ignore special devices (recommended).

PRESERVE: Preserve character and block device metadata. This option isn’t currently supported for Amazon EFS.

PosixPermissions -> (string)

A value that determines which users or groups can access a file for a specific purpose such as reading, writing, or execution of the file.

Default value: PRESERVE.

PRESERVE: Preserve POSIX-style permissions (recommended).

NONE: Ignore permissions.


AWS DataSync can preserve extant permissions of a source location.

BytesPerSecond -> (long)

A value that limits the bandwidth used by AWS DataSync. For example, if you want AWS DataSync to use a maximum of 1 MB, set this value to 1048576 (=1024*1024 ).

TaskQueueing -> (string)

A value that determines whether tasks should be queued before executing the tasks. If set to ENABLED , the tasks will be queued. The default is ENABLED .

If you use the same agent to run multiple tasks you can enable the tasks to run in series. For more information see queue-task-execution .

LogLevel -> (string)

A value that determines the type of logs DataSync will deliver to your AWS CloudWatch Logs file. If set to OFF , no logs will be delivered. BASIC will deliver a few logs per transfer operation and TRANSFER will deliver a verbose log that contains logs for every file that is transferred.

Shorthand Syntax:


JSON Syntax:

  "OverwriteMode": "ALWAYS"|"NEVER",
  "Atime": "NONE"|"BEST_EFFORT",
  "Mtime": "NONE"|"PRESERVE",
  "Uid": "NONE"|"INT_VALUE"|"NAME"|"BOTH",
  "Gid": "NONE"|"INT_VALUE"|"NAME"|"BOTH",
  "PreserveDeletedFiles": "PRESERVE"|"REMOVE",
  "PreserveDevices": "NONE"|"PRESERVE",
  "PosixPermissions": "NONE"|"PRESERVE",
  "BytesPerSecond": long,
  "TaskQueueing": "ENABLED"|"DISABLED",
  "LogLevel": "OFF"|"BASIC"|"TRANSFER"

--excludes (list)

A list of filter rules that determines which files to exclude from a task. The list should contain a single filter string that consists of the patterns to exclude. The patterns are delimited by “|” (that is, a pipe), for example, "/folder1|/folder2"


Specifies which files, folders and objects to include or exclude when transferring files from source to destination.

FilterType -> (string)

The type of filter rule to apply. AWS DataSync only supports the SIMPLE_PATTERN rule type.

Value -> (string)

A single filter string that consists of the patterns to include or exclude. The patterns are delimited by “|” (that is, a pipe), for example: /folder1|/folder2

Shorthand Syntax:

FilterType=string,Value=string ...

JSON Syntax:

    "FilterType": "SIMPLE_PATTERN",
    "Value": "string"

--schedule (structure)

Specifies a schedule used to periodically transfer files from a source to a destination location. The schedule should be specified in UTC time. For more information, see task-scheduling .

ScheduleExpression -> (string)

A cron expression that specifies when AWS DataSync initiates a scheduled transfer from a source to a destination location.

Shorthand Syntax:


JSON Syntax:

  "ScheduleExpression": "string"

--tags (list)

The key-value pair that represents the tag that you want to add to the resource. The value can be an empty string.


Represents a single entry in a list of AWS resource tags. TagListEntry returns an array that contains a list of tasks when the ListTagsForResource operation is called.

Key -> (string)

The key for an AWS resource tag.

Value -> (string)

The value for an AWS resource tag.

Shorthand Syntax:

Key=string,Value=string ...

JSON Syntax:

    "Key": "string",
    "Value": "string"

--cli-input-json | --cli-input-yaml (string) Reads arguments from the JSON string provided. The JSON string follows the format provided by --generate-cli-skeleton. If other arguments are provided on the command line, those values will override the JSON-provided values. It is not possible to pass arbitrary binary values using a JSON-provided value as the string will be taken literally. This may not be specified along with --cli-input-yaml.

--generate-cli-skeleton (string) Prints a JSON skeleton to standard output without sending an API request. If provided with no value or the value input, prints a sample input JSON that can be used as an argument for --cli-input-json. Similarly, if provided yaml-input it will print a sample input YAML that can be used with --cli-input-yaml. If provided with the value output, it validates the command inputs and returns a sample output JSON for that command.

--cli-auto-prompt (boolean) Automatically prompt for CLI input parameters.

See ‘aws help’ for descriptions of global parameters.


TaskArn -> (string)

The Amazon Resource Name (ARN) of the task.