Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Panel

Table of Contents

...

FieldDescription

Agent

Linux or Windows Universal Agent to execute the Rclone command line.

Agent Cluster

Optional Agent Cluster for load balancing.

Action

[ list directory, copy, copyto, list objects, move, moveto, sync, remove-object, remove-object-store, create-object-store, copy-url, monitor-object ]

Remove objects in an OS directory or cloud object store.

Storage Type

Select the storage type:

  • linux_source
  • amazon_s3_source
  • microsoft_azure_blob_storage_source
  • microsoft_azure_blob_storage_sas_source
  • google_cloud_storage_Source
  • ondrive_source
  • hdfs_source
  • datalakegen2_storage_source
  • datalakegen2_storage_sp_source
  • windows_source
  • sftp_source
  • copy_url
  • linux_target
  • amazon_s3_target
  • microsoft_azure_blob_storage_target
  • microsoft_azure_blob_storage_sas_target
  • google_cloud_storage_target
  • ondrive_target
  • hdfs_target
  • datalakegen2_storage_source
  • datalakegen2_storage_sp_source
  • windows_source
  • sftp_source
  • copy_url
File Path

Path to the directory in which you want to remove the objects.

For example:

File Path: stonebranchpmtest

Filter: report[1-3].txt

This removes all S3 objects matching the filter: report[1-3].txt( report1.txt, report2.txt and report3.txt ) from the S3 bucket stonebranchpmtest.

Filter Type

[ include, exclude, none ]

Define the type of filter to apply.

Filter

Provide the Patterns for file matching; for example, in a sync action:

Filter Type: include

Filter report[1-3].txt

This means all reports with names matching report1.txt, report2.txt, and report3.txt will be removed.

For more examples on the filter matching pattern, refer to https://rclone.org/filtering/ .

Connection File

In the connection file you configure all required Parameters and Credentials to connect to the Source and Target Cloud Storage System.

For example, if you want to transfer a file from AWS S3 to Azure Blob Storage, you must configure the connection Parameters for AWS S3 and Azure Blob Storage.

For details on how to configure the Connection File, refer to section Configure the Connection File.

Other Parameters

This field can be used to apply additional flag parameters to the selected action.

For a list of all possible flags, refer to Global Flags.

Recommendation: Add the flag max-depth 1 to all Copy, Move, remove-object and remove-object-store in the task field Other Parameters to avoid a recursive action.

Attention: If the flag max-depth 1 is not set, a recursive action is performed.

Dry-run

[ checked , unchecked ]

Do a trial run with no permanent changes.

UAC Rest Credentials

Universal Controller Rest API Credentials.

UAC Base URL

Universal Controller URL.

For example, https://192.168.88.40/uc

Loglevel

Universal Task logging settings [DEBUG | INFO| WARNING | ERROR | CRITICAL].

max-depth ( recursion depth )

Limits the recursion depth

max-depth 1 means only the current directory is in scope; in this case, only files in the current directory will be synced from the source to the target. This is the default value.

Attention: If you change max-depth to a value greater than 1, a recursive action is performed.

...

If the monitor has launched the Task Load Seller Data to SAP , it will only launch a new Task “Load Seller Data to SAP” if the launched Tasks is not active anymore.

Inter-Cloud Data Transfer Example Cases

The following section provides examples for the Inter-Cloud Data Transfer Task actions:

  • Copy

  • Move

  • Remove-object

  • Monitor-object

...

N#

...

Name

...

Copy

...

C1

...

Copy a file to target. The file does not exist at the target.

...

C2

...

Copy two files. One of files already exists at the target.

...

C3

...

Copy a file to a target with Parameter ignore-existing set. A file with the same filename exists on the target.

...

C4

...

Copy a file to a target, which already exists with Parameter error-on-no-transfer set.

...

C5

...

Copy all files except one, from one folder into another folder.

...

C6

...

Copy non-recursively a file from a folder into another folder using the parameter max-depth 1.

...

C7

...

Copy files using multiple Parameters.

...

Move

...

M1

...

Move without deleting if no transfer took place.

...

M2

...

Move a file with same source and target - config error case.

...

Remove-object

...

R1

...

Delete a file in a specific folder by using the parameter: max-depth 1.

...

R2

...

Delete all files matching a given name recursively in all folders starting from a given entry folder.

...

Monitor-object

...

FM01

...

Monitor a file in AWS - file does not exist on start of monitor.

...

FM02

...

Monitor a file in AWS - file exists on start of monitor.

Copy

The following file transfer examples will be described for the Copy action:

...

N#

...

Name

...

C1

...

Copy a file to target. The file does not exist at the target.

...

C2

...

Copy two files. One of files already exists at the target.

...

C3

...

Copy a file to a target with Parameter ignore-existing set. A file with the same filename exists on the target.

...

C4

...

Copy a file to a target, which already exists with Parameter error-on-no-transfer set.

...

C5

...

Copy all files except one, from one folder into another folder.

...

C6

...

Copy non-recursively a file from a folder into another folder using the parameter max-depth 1.

...

C7

...

Copy files using multiple Parameters.

Note
titleNote

Before running a copy command, you can always try the command by setting the Dry-run option in the Task.

Copy a File to Target: File does not Exist at the Target

Copy the file report1.txt to target stonebranchpm/in/. The file does not exist at the target.

Configuration

  • Source Storage Type: linux_source

  • Source: /home/stonebranch/demo/out/

  • Target Storage Type: amazon_s3_target

  • Target: stonebranchpm/in/

  • Filter Type: include

  • Filter: report3.txt

  • Other Parameters: none

Image Removed

Result

  • Task Status: success

  • Output: report1.txt: Copied (new)

Copy Two Files:. One File Already Exists at the Target

Copy two files report2.txt and report3.txt to the target stonebranchpm/in/. The file report2.txt (same size and content) already exists at the target.

Configuration

  • Source Storage Type: linux_source

  • Source: /home/stonebranch/demo/out/

  • Target Storage Type: amazon_s3_target

  • Target: stonebranchpm/in/

  • Filter Type: include

  • Filter: report[2-3].txt

  • Other Parameters: none

Image Removed

Result

  • Task Status: success

  • Output:

    • report3.txt: Copied (new)

    • report2.txt: Unchanged skipping

Note
titleNote

If the file report2.txt would have the same name, but a different size, than the task would overwrite the file report2.txt on the target.

Copy a File to a Target with Parameter ignore-existing Set. A File with the Same filename Exists on the Target.

Copy a file report2.txt to the target stonebranchpm/in/ with Parameter ignore-existing set . A file with the same filename exists at the target (size or content can be the same or different).

When ignore-existing is set, all files that exist on destination with the same filename are skipped. (No overwrite is done.)

Configuration

  • Source Storage Type: linux_source

  • Source: /home/stonebranch/demo/out/

  • Target Storage Type: amazon_s3_target

  • Target: stonebranchpm/in/

  • Filter Type: include

  • Filter: report2.txt

  • Other Parameters: --ignore-existing

Image Removed

Result

  • Task Status: failure

  • Output:

    • There was nothing to transfer.

    • Exiting due to ERROR(s).

Copy a File to a Target, which Already Exists with Parameter Flag error-on-no-transfer Set.

Copy a file report2.txt to a target, which already exists with Parameter error-on-no-transfer set .

When error-on-no-transfer is set, the task will fail in case no file is transferred.

Configuration

  • Source Storage Type: linux_source

  • Source: /home/stonebranch/demo/out/

  • Target Storage Type: amazon_s3_target

  • Target: stonebranchpm/in/

  • Filter Type: include

  • Filter: report2.txt

  • Other Parameters: --error-on-no-transfer

Image Removed

Result

...

Task Status: failure

Output:

report2.txt: Unchanged skipping

...

There was nothing to transfer

...

Exiting due to ERROR(s).

Copy all Files except One, from One Folder into Another Folder

Copy contents of folder in into folder out excluding the file index.html.

Note
titleNote

If the folder out does not exist, it would be created.

Configuration

  • Source Storage Type: linux_source

  • Source: stonebranchpmtest/in

  • Target Storage Type: amazon_s3_target

  • Target: stonebranchpmtest/out

  • Filter Type: exclude

  • Filter: index.html

  • Other Parameters: none

Code Block
languagetext
stonebranchpmtest

├── in

│   ├── report1.txt

│   └── report2.txt

│   ├── sub01

│        ├── report1.txt <- this file will be copied incl. directory sub01

│   └── index.html <- will not be copied, because of the exclude filter

 

├── out

│   └── report10.txt

 

After execution of the delete action:

├── out

│   ├── report1.txt

│   └── report2.txt

│   ├── sub01

│        ├── report1.txt <- this file will be copied incl. directory sub01

│   └── report10.txt

Image Removed

Result

  • Task Status: success

  • Output:

    • report1.txt: Copied (new)

    • report2.txt: Copied (new)
    • sub1/report1.txt: Copied (new)

Copy Non-Recursively a File from a Folder into Another Folder by Using the Parameter max-depth 1. 

Copy the file report1.txt from the folder stonebranchpmtest/in into folder stonebranchpmtest2/. The Parameter max-depth 1 is used to copy non-recursively.

  • max-depth limits the recursion depth (default -1).

  • max-depth 1 means only the current directory is in scope.

Note
titleNote

The folder in will not be created on the target; only the file is copied to the provided target directory.

Configuration

  • Source Storage Type: amazon_s3_source

  • Source: stonebranchpmtest/in

  • Target Storage Type: amazon_s3_target

  • Target: stonebranchpmest2/out

  • Filter Type: include

  • Filter: report1.txt

  • Other Parameters: --max-depth 1

Code Block
languagetext
stonebranchpmtest

├── in

│   ├── report1.txt <- this file will be copied

│   ├── report2.txt

│   ├── sub01

│        ├── report1.txt <- this file will not be copied, because of --max-depth 1

├── report1.txt <- this file will not be copied

 

stonebranchpmtest2

├── report10.txt

After execution of the delete action:

stonebranchpmtest2

├── report1.txt

├── report10.txt

Image Removed

Result

  • Task Status: success

  • Output: report1.txt: Copied (new)

Copy Files Using Multiple Parameters

It is possible to provide multiple Parameters in the Other Parameters field of the Task.

Example:

Parameters: --max-depth 1 --error-on-no-transfer

In this case, both Parameters are applied.

Configuration

  • Source Storage Type: amazon_s3_source

  • Source: stonebranchpmtest/in

  • Target Storage Type: amazon_s3_target

  • Target: stonebranchpmest2/out

  • Filter Type: include

  • Filter: report1.txt

  • Other Parameters: --max-depth 1, --error-on-no-transfer

Image Removed

Result

The Parameters: --max-depth 1 and --error-on-no-transfer are both applied.

Move

The following file transfer examples will be described for the Move action:

...

N#

...

Name

...

M1

...

Move without deleting if no transfer took place.

...

M2

...

Move a file with same source and target - config error case.

Note
titleNote

Before running a Move command, you can always try the command by setting the Dry-run option in the Task.

Move Without Deleting if no Transfer Took Place

If you want only the source file to be deleted when a file transfer took place, then add the flag ignore-existing in the field Other Parameters

Example: You move a file to a destination that already exists. In this case, rclone will not perform the copy but deletes the source file.

If you set the flag --ignore-existing, the delete operation will not be performed.

Note
titleNote
  • The --ignore-existing parameter also avoids that a file is deleted, if the source is equal to the destination in a copy operation.

  • The max-depth 1 parameter avoids a recursive move of files.

  • The error-on-no-transfer parameter lets the task fail in case no transfer was done.

Configuration

  • Source Storage Type: linux_source

  • Source: /home/stonebranch/demo/out/

  • Target Storage Type: amazon_s3_target

  • Target: stonebranchpm/in/

  • Filter Type: include

  • Filter: report4.txt

  • Other Parameters: --ignore-existing, --max-depth 1, --error-on-no-transfer

Image Removed

Result

  • Task Status: failed

    • The file report4.txt is not deleted at the source “/home/stonebranch/demo/out/”

  • Output:

    • There was nothin to transfer

    • Return Code: 9
    • Exiting due to ERROR(s).

Move a File with Same Source and Target - config error Case

Accidently, the source has been configured the same as the target.

The --ignore-existing parameter avoids that a file is deleted, if the source is equal to the destination in a copy operation.

  • The --ignore-existing parameter avoids that a file is deleted, if the source is equal to the destination in a copy operation.

  • The max-depth 1 parameter avoids a recursive move of files.

Configuration

  • Source Storage Type: linux_source

  • Source: /home/stonebranch/demo/out/

  • Target Storage Type: linux_source

  • Target: /home/stonebranch/demo/out/

  • Filter Type: include

  • Filter: report4.txt

  • Other Parameters: --ignore-existing, --max-depth 1

Image Removed

Result

  • Task Status: success (because --error-on-no-transfer was not set)

    • The file report4.txt is not deleted.

  • Output:

    • There was nothin to transfer

    • Return Code: 0

Remove-object

The following file examples will be described for the Remove-object action:

...

N#

...

Name

...

R1

...

Delete a file in a specific folder by using the parameter max-depth 1.

...

R2

...

Delete all files matching a given name recursively in all folders starting from a given entry folder.

Note
titleNote

Before running a remove-object command, you can always try the command by setting the Dry-run option in the Task.

Delete a File in a Specific Folder by Using the Parameter max-depth 1

Delete only the report1.txt in the folder stonebranchpmtest/in/

To delete a specific file in a folder, provide the File Path to the file to delete and provide the Parameter: --max-depth 1 in the Other Parameters field.

  • max-depth limits the recursion depth (default -1).

  • max-depth 1 means only the current directory is in scope.

Configuration

  • File Path: stonebranchpmtest/in/

  • Storage Type: amazon_s3_source

  • Filter Type: include

  • Filter: report1.txt

  • Other Parameters: --max-depth 1

Code Block
languagetext
stonebranchpmtest

├── in

│   ├── report1.txt <- this file will be deleted

│   ├── report2.txt

│   ├── sub01

│        ├── report1.txt <- this file will not be deleted because of --max-depth 1

├── report1.txt

 

After execution of the delete action:

stonebranchpmtest

├── in

│   ├── report2.txt

│   ├── sub01

│        ├── report1.txt

├── report1.txt

Image Removed

Result

  • Task Status: success

  • Output: report1.txt Deleted

Delete all Files Matching a Given Name Recursively in all Folders Starting from a Given Entry Folder

Delete report1.txt recursively in all folders starting from the given entry folder stonebranchpmtest/ will be deleted.

Configuration

  • File Path: stonebranchpmtest/

  • Storage Type: amazon_s3_source

  • Filter Type: include

  • Filter: report1.txt

  • Other Parameters: none

Code Block
languagetext
stonebranchpmtest

├── in

│   ├── report1.txt <- this file will be deleted

│   ├── report2.txt

│   ├── sub01

│        ├── report1.txt <- this file be deleted

├── report1.txt <- this file be deleted

 

After execution of the delete action:

stonebranchpmtest

├── in

│   ├── report2.txt

│   ├── sub01

│        ├──

├──

Image Removed

Result

  • Task Status: success

  • Output:

    • in/report1.txt Deleted

    • in/sub1/report1.txt Deleted
    • report1.txt Deleted

Monitor-object

The following examples describe how file monitoring can be performed.

...

N#

...

Name

...

FM01

...

Monitor a file in AWS - file does not exist on start of monitor.

...

FM02

...

Monitor a file in AWS - file exists on start of monitor.

Note
titleNote

Before running a monitor-object command, you can always try the command by setting the Dry-run option in the Task.

Monitor a File in AWS - File does not Exist on Start of Monitor

With the Parameter Flag --use-server-modtime, you can tell the Monitor to use the upload time to the AWS bucket instead of the last modification time of the file on the source (for exxample, Linux).

max-depth 1 means only the current directory is in scope.

Configuration

  • Directory: stonebranchpmtest/in/

  • Storage Type: amazon_s3_source

  • Filter Type: include

  • Filter: test3.txt

  • Interval: 10s

  • Trigger on Existence: no

  • Other Parameters: --max-depth 1, --use-server-modtime

Image Removed

Result

  • Task Status: running

  • The monitor will stay in running until the file test3.txt is copied to stonebranchpmtest/in

  • Output:

    • INFO - REST SB library version 1.0

    • INFO - ############  Monitor Objects Action ###############

    • INFO - ############  List Objects Action ###############

    • INFO - sleeping for 10 seconds now

Monitor a File in AWS - File Exists on Start of Monitor

With the Parameter Flag --use-server-modtime,  you can tell the Monitor to use the upload time to the AWS bucket instead of the last modification time of the file on the source (for example, Linux).

max-depth 1 means only the current directory is in scope.

Configuration

  • Source Storage Type: linux_source

  • Source: /home/stonebranch/demo/out/

  • Target Storage Type: amazon_s3_target

  • Target: stonebranchpm/in/

  • Filter Type: include

  • Filter: report10.txt

  • Trigger on Existence: yes

  • Other Parameters: --ignore-existing, --max-depth 1, --error-on-no-transfer

Image Removed

Result

...

Task Status: success

...

The task goes to success because the file report10.txt already exists in stonebranchpmtest/in ( trigger on existence is set to true ).

Output:

...

######  object in stonebranchpmtest/in/ ######

...

[{"Path":"report10.txt","Name":"report10.txt","Size":15,"MimeType":"text/plain","ModTime":"2021-12-08T16:26:18.000000000Z","IsDir":false,"Tier":"STANDARD"}]

...