Rucio CLI

usage: rucio [-h] [--version] [--config CONFIG] [--verbose] [-H ADDRESS] [--auth-host ADDRESS] [-a ACCOUNT] [-S AUTH_STRATEGY] [-T TIMEOUT] [--robot]
             [--user-agent USER_AGENT] [--vo VO] [-u USERNAME] [-pwd PASSWORD] [--oidc-user OIDC_USERNAME] [--oidc-password OIDC_PASSWORD]
             [--oidc-scope OIDC_SCOPE] [--oidc-audience OIDC_AUDIENCE] [--oidc-auto] [--oidc-polling] [--oidc-refresh-lifetime OIDC_REFRESH_LIFETIME]
             [--oidc-issuer OIDC_ISSUER] [--certificate CERTIFICATE] [--ca-certificate CA_CERTIFICATE]
             {ping,whoami,list-file-replicas,list-dataset-replicas,add-dataset,add-container,attach,detach,ls,list-dids,list-dids-extended,list-parent-dids,list-parent-datasets,list-scopes,close,reopen,stat,erase,list-files,list-content,list-content-history,upload,get,download,get-metadata,set-metadata,delete-metadata,list-rse-usage,list-account-usage,list-account-limits,add-rule,delete-rule,rule-info,list-rules,list-rules-history,update-rule,move-rule,list-rses,list-rse-attributes,list-datasets-rse,test-server,touch}
             ...

Named Arguments

--version

show program’s version number and exit

--config

The Rucio configuration file to use.

--verbose, -v

Print more verbose output.

Default: False

-H, --host

The Rucio API host.

--auth-host

The Rucio Authentication host.

-a, --account

Rucio account to use.

-S, --auth-strategy

Authentication strategy (userpass, x509…)

-T, --timeout

Set all timeout values to seconds.

--robot, -R

All output in bytes and without the units. This output format is preferred by parsers and scripts.

Default: True

--user-agent, -U

Rucio User Agent

Default: “rucio-clients”

--vo

VO to authenticate at. Only used in multi-VO mode.

-u, --user

username

-pwd, --password

password

--oidc-user

OIDC username

--oidc-password

OIDC password

--oidc-scope

Defines which (OIDC) information user will share with Rucio. Rucio requires at least -sc=”openid profile”. To request refresh token for Rucio, scope must include “openid offline_access” and there must be no active access token saved on the side of the currently used Rucio Client.

Default: “openid profile”

--oidc-audience

Defines which audience are tokens requested for.

--oidc-auto

If not specified, username and password credentials are not required and users will be given a URL to use in their browser. If specified, the users explicitly trust Rucio with their IdP credentials.

Default: False

--oidc-polling

If not specified, user will be asked to enter a code returned by the browser to the command line. If –polling is set, Rucio Client should get the token without any further interaction of the user. This option is active only if –auto is not specified.

Default: False

--oidc-refresh-lifetime

Max lifetime in hours for this an access token will be refreshed by asynchronous Rucio daemon. If not specified, refresh will be stopped after 4 days. This option is effective only if –oidc-scope includes offline_access scope for a refresh token to be granted to Rucio.

--oidc-issuer

Defines which Identity Provider is goign to be used. The issuer string must correspond to the keys configured in the /etc/idpsecrets.json auth server configuration file.

--certificate

Client certificate file.

--ca-certificate

CA certificate to verify peer against (SSL).

Sub-commands:

ping

Ping Rucio server.

rucio ping [-h]

Usage example

To ping the server:

$ rucio ping
1.14.8

The returned value is the version of Rucio installed on the server.

whoami

Get information about account whose token is used.

rucio whoami [-h]

Usage example

$ rucio whoami
jdoe

The returned value is the account currently used.

list-file-replicas

This method allows to list all the replicas of a given Data IDentifier (DID). The only mandatory parameter is the DID which can be a container/dataset/files. By default all the files replicas in state available are returned.

rucio list-file-replicas [-h] [--protocols PROTOCOLS] [--all-states] [--pfns] [--domain DOMAIN] [--link LINK] [--rse SELECTED_RSE] [--missing] [--metalink]
                         [--no-resolve-archives] [--sort SORT] [--expression RSE_EXPRESSION]
                         dids [dids ...]

Positional Arguments

dids

List of space separated data identifiers.

Named Arguments

--protocols

List of comma separated protocols. (i.e. https, root, srm).

--all-states

To select all replicas (including unavailable ones).

Default: False

--pfns

Show only the PFNs.

Default: False

--domain

Force the networking domain. Available options: wan, lan, all.

--link

Symlink PFNs with directory substitution.

--rse

Show only results for this RSE.

Default: False

--missing

To list missing replicas at a RSE. Must be used with –rse option

Default: False

--metalink

Output available replicas as metalink.

Default: False

--no-resolve-archives

Do not resolve archives which may contain the files.

Default: False

--sort

Replica sort algorithm. Available options: random (default), geoip

--expression

The RSE filter expression. A comprehensive help about RSE expressions can be found in http://rucio.cern.ch/client_tutorial.html#adding-rules-for-replication

Usage example

To list the file replicas for a given dataset:

$ rucio list-file-replicas user.jdoe:user.jdoe.test.data.1234.1
+-----------+---------------------------------+------------+-----------+-----------------------------------------------------------------------------------+
| SCOPE     | NAME                            | FILESIZE   | ADLER32   | RSE: REPLICA                                                                      |
|-----------+---------------------------------+------------+-----------+-----------------------------------------------------------------------------------|
| user.jdoe | user.jdoe.test.data.1234.file.1 | 94.835 MB  | 5d000974  | SITE1_DISK: srm://blahblih/path/to/file/user.jdoe/user.jdoe.test.data.1234.file.1 |
| user.jdoe | user.jdoe.test.data.1234.file.1 | 94.835 MB  | 5d000974  | SITE2_DISK: file://another/path/to/file/user.jdoe/user.jdoe.test.data.1234.file.1 |
| user.jdoe | user.jdoe.test.data.1234.file.2 | 82.173 MB  | 01e56f23  | SITE2_DISK: file://another/path/to/file/user.jdoe/user.jdoe.test.data.1234.file.2 |
+-----------+---------------------------------+------------+-----------+-----------------------------------------------------------------------------------+

To list the missing replica of a dataset of a given RSE:

$ rucio list-file-replicas --rse SITE1_DISK user.jdoe:user.jdoe.test.data.1234.1
+-----------+----------------------------+
| SCOPE     | NAME                       |
|-----------+----------------------------|
| user.jdoe | user.jdoe.test.data.1234.2 |
+-----------+----------------------------+

list-dataset-replicas

List the dataset replicas.

rucio list-dataset-replicas [-h] [--deep] [--csv] dids [dids ...]

Positional Arguments

dids

The name of the DID to search.

Named Arguments

--deep

Make a deep check.

Default: False

--csv

Comma Separated Value output.

Default: False

Usage example

$ rucio list-dataset-replicas user.jdoe:user.jdoe.test.data.1234.1

DATASET: user.jdoe:user.jdoe.test.data.1234.1
+------------+---------+---------+
| RSE        |   FOUND |   TOTAL |
|------------+---------+---------|
| SITE1_DISK |       1 |       2 |
| SITE2_DISK |       2 |       2 |
+------------+---------+---------+

add-dataset

Add a dataset to Rucio Catalog.

rucio add-dataset [-h] [--monotonic] [--lifetime LIFETIME] did

Positional Arguments

did

The name of the dataset to add.

Named Arguments

--monotonic

Monotonic status to True.

Default: False

--lifetime

Lifetime in seconds.

Usage example

$ rucio add-dataset user.jdoe:user.jdoe.test.data.1234.1
Added user.jdoe:user.jdoe.test.data.1234.1

add-container

Add a container to Rucio Catalog.

rucio add-container [-h] [--monotonic] [--lifetime LIFETIME] did

Positional Arguments

did

The name of the container to add.

Named Arguments

--monotonic

Monotonic status to True.

Default: False

--lifetime

Lifetime in seconds.

Usage example

$ rucio add-container user.jdoe:user.jdoe.test.cont.1234.1
Added user.jdoe:user.jdoe.test.cont.1234.1

attach

Attach a list of Data IDentifiers (file, dataset or container) to an other Data IDentifier (dataset or container).

rucio attach [-h] [-f] todid dids [dids ...]

Positional Arguments

todid

Destination Data IDentifier (either dataset or container).

dids

List of space separated data identifiers (or a file containing one did per line, if -f is present).

Named Arguments

-f, --from-file

Attach the DIDs contained in a file. The file should contain one did per line.

Default: False

Usage example

$ rucio attach user.jdoe:user.jdoe.test.cont.1234.1 user.jdoe:user.jdoe.test.data.1234.1
DIDs successfully attached to user.jdoe:user.jdoe.test.cont.1234.1

detach

Detach a list of Data Identifiers (file, dataset or container) from an other Data Identifier (dataset or container).

rucio detach [-h] fromdid dids [dids ...]

Positional Arguments

fromdid

Target Data IDentifier (must be a dataset or container).

dids

List of space separated data identifiers.

Usage example

$ rucio detach user.jdoe:user.jdoe.test.cont.1234.1 user.jdoe:user.jdoe.test.data.1234.1
DIDs successfully detached from user.jdoe:user.jdoe.test.cont.1234.1

ls

List the Data IDentifiers matching certain pattern. Only the collections (i.e. dataset or container) are returned by default. With the filter option, you can specify a list of metadata that the Data IDentifier should match.

rucio ls [-h] [-r] [--filter FILTER] [--short] did

Positional Arguments

did

Data IDentifier pattern.

Named Arguments

-r, --recursive

List data identifiers recursively.

Default: False

--filter

Filter arguments in form key=value,another_key=next_value. Valid keys are name, type.

--short

Just dump the list of DIDs.

Default: False

Usage example

You can query the DIDs matching a certain pattern. It always requires to specify the scope in which you want to search:

$ rucio ls user.jdoe:*
+-------------------------------------------+--------------+
| SCOPE:NAME                                | [DID TYPE]   |
|-------------------------------------------+--------------|
| user.jdoe:user.jdoe.test.container.1234.1 | CONTAINER    |
| user.jdoe:user.jdoe.test.container.1234.2 | CONTAINER    |
| user.jdoe:user.jdoe.test.cont.1234.2      | CONTAINER    |
| user.jdoe:user.jdoe.test.dataset.1        | DATASET      |
| user.jdoe:user.jdoe.test.dataset.2        | DATASET      |
| user.jdoe:user.jdoe.test.data.1234.1      | DATASET      |
| user.jdoe:test.file.1                     | FILE         |
| user.jdoe:test.file.2                     | FILE         |
| user.jdoe:test.file.3                     | FILE         |
+-------------------------------------------+--------------+

You can filter by key/value, e.g.:

$ rucio ls --filter type=CONTAINER
+-------------------------------------------+--------------+
| SCOPE:NAME                                | [DID TYPE]   |
|-------------------------------------------+--------------|
| user.jdoe:user.jdoe.test.container.1234.1 | CONTAINER    |
| user.jdoe:user.jdoe.test.container.1234.2 | CONTAINER    |
| user.jdoe:user.jdoe.test.cont.1234.2      | CONTAINER    |
+-------------------------------------------+--------------+

list-dids

List the Data IDentifiers matching certain pattern. Only the collections (i.e. dataset or container) are returned by default. With the filter option, you can specify a list of metadata that the Data IDentifier should match. Please use the filter option –filter type=all to find all types of Data IDentifiers.

rucio list-dids [-h] [--recursive] [--filter FILTER] [--short] did

Positional Arguments

did

Data IDentifier pattern

Named Arguments

--recursive

List data identifiers recursively.

Default: False

--filter

Filter arguments in form key=value,another_key>=next_value. Valid keys are type and length. Use type to specify a DID type to search for. Valid values are ALL, COLLECTION, CONTAINER, DATASET, FILE. Use length to filter for an amount of corresponding Data IDentifiers. Valid operators are =, >, >=, <, <=.

--short

Just dump the list of DIDs.

Default: False

Usage example

You can query the DIDs matching a certain pattern. It always requires to specify the scope in which you want to search:

$ rucio list-dids --filter 'type=all' user.jdoe:*
+-------------------------------------------+--------------+
| SCOPE:NAME                                | [DID TYPE]   |
|-------------------------------------------+--------------|
| user.jdoe:user.jdoe.test.container.1234.1 | CONTAINER    |
| user.jdoe:user.jdoe.test.container.1234.2 | CONTAINER    |
| user.jdoe:user.jdoe.test.cont.1234.2      | CONTAINER    |
| user.jdoe:user.jdoe.test.dataset.1        | DATASET      |
| user.jdoe:user.jdoe.test.dataset.2        | DATASET      |
| user.jdoe:user.jdoe.test.data.1234.1      | DATASET      |
| user.jdoe:test.file.1                     | FILE         |
| user.jdoe:test.file.2                     | FILE         |
| user.jdoe:test.file.3                     | FILE         |
+-------------------------------------------+--------------+

You can filter by key/value, e.g.:

$ rucio list-dids --filter 'type=CONTAINER'
+-------------------------------------------+--------------+
| SCOPE:NAME                                | [DID TYPE]   |
|-------------------------------------------+--------------|
| user.jdoe:user.jdoe.test.container.1234.1 | CONTAINER    |
| user.jdoe:user.jdoe.test.container.1234.2 | CONTAINER    |
| user.jdoe:user.jdoe.test.cont.1234.2      | CONTAINER    |
+-------------------------------------------+--------------+

list-dids-extended

List the Data IDentifiers matching certain pattern. Only the collections (i.e. dataset or container) are returned by default. With the filter option, you can specify a list of metadata that the Data IDentifier should match. Please use the filter option –filter type=all to find all types of Data IDentifiers.

rucio list-dids-extended [-h] [--recursive] [--filter FILTER] [--short] did

Positional Arguments

did

Data IDentifier pattern

Named Arguments

--recursive

List data identifiers recursively.

Default: False

--filter

Filter arguments in form key=value,another_key>=next_value. Valid keys are type and length. Use type to specify a DID type to search for. Valid values are ALL, COLLECTION, CONTAINER, DATASET, FILE. Use length to filter for an amount of corresponding Data IDentifiers. Valid operators are =, >, >=, <, <=.

--short

Just dump the list of DIDs.

Default: False

Usage example

You can query the DIDs matching a certain pattern. It always requires to specify the scope in which you want to search:

$ rucio list-dids --filter 'type=all' user.jdoe:*
+-------------------------------------------+--------------+
| SCOPE:NAME                                | [DID TYPE]   |
|-------------------------------------------+--------------|
| user.jdoe:user.jdoe.test.container.1234.1 | CONTAINER    |
| user.jdoe:user.jdoe.test.container.1234.2 | CONTAINER    |
| user.jdoe:user.jdoe.test.cont.1234.2      | CONTAINER    |
| user.jdoe:user.jdoe.test.dataset.1        | DATASET      |
| user.jdoe:user.jdoe.test.dataset.2        | DATASET      |
| user.jdoe:user.jdoe.test.data.1234.1      | DATASET      |
| user.jdoe:test.file.1                     | FILE         |
| user.jdoe:test.file.2                     | FILE         |
| user.jdoe:test.file.3                     | FILE         |
+-------------------------------------------+--------------+

You can filter by key/value, e.g.:

$ rucio list-dids --filter 'type=CONTAINER'
+-------------------------------------------+--------------+
| SCOPE:NAME                                | [DID TYPE]   |
|-------------------------------------------+--------------|
| user.jdoe:user.jdoe.test.container.1234.1 | CONTAINER    |
| user.jdoe:user.jdoe.test.container.1234.2 | CONTAINER    |
| user.jdoe:user.jdoe.test.cont.1234.2      | CONTAINER    |
+-------------------------------------------+--------------+

list-parent-dids

List all parents Data IDentifier that contains the target Data IDentifier.

rucio list-parent-dids [-h] [--pfn PFNS [PFNS ...]] [--guid GUIDS [GUIDS ...]] [did]

Positional Arguments

did

Data identifier.

Named Arguments

--pfn

List parent dids for these pfns.

--guid

List parent dids for these guids.

Usage example

$ rucio list-parent-dids user.jdoe:user.jdoe.test.data.1234.1
+--------------------------------------+--------------+
| SCOPE:NAME                           | [DID TYPE]   |
|--------------------------------------+--------------|
| user.jdoe:user.jdoe.test.cont.1234.2 | CONTAINER    |
+--------------------------------------+--------------+

list-parent-datasets

List all parents Data IDentifier that contains the target Data IDentifier.

rucio list-parent-datasets [-h] [--pfn PFNS [PFNS ...]] [--guid GUIDS [GUIDS ...]] [did]

Positional Arguments

did

Data identifier.

Named Arguments

--pfn

List parent dids for these pfns.

--guid

List parent dids for these guids.

Usage example

$ rucio list-parent-datasets user.jdoe:user.jdoe.test.data.1234.1
+--------------------------------------+--------------+
| SCOPE:NAME                           | [DID TYPE]   |
|--------------------------------------+--------------|
| user.jdoe:user.jdoe.test.cont.1234.2 | CONTAINER    |
+--------------------------------------+--------------+

list-scopes

List all available scopes.

rucio list-scopes [-h]

Usage example

$ rucio list-scopes
mc
data
user.jdoe
user.janedoe

close

Close a dataset or container.

rucio close [-h] dids [dids ...]

Positional Arguments

dids

List of space separated data identifiers.

reopen

Reopen a dataset or container (only for privileged users).

rucio reopen [-h] dids [dids ...]

Positional Arguments

dids

List of space separated data identifiers.

stat

List attributes and statuses about data identifiers.

rucio stat [-h] dids [dids ...]

Positional Arguments

dids

List of space separated data identifiers.

erase

This command sets the lifetime of the DID in order to expire in the next 24 hours. After this time, the dataset is eligible for deletion. The deletion is not reversible after 24 hours grace time period expired.

rucio erase [-h] [--undo] dids [dids ...]

Positional Arguments

dids

List of space separated data identifiers.

Named Arguments

--undo

Undo erase DIDs. Only works if has been less than 24 hours since erase operation.

Default: False

list-files

List all the files in a Data IDentifier. The DID can be a container, dataset or a file. What is returned is a list of files in the DID with : <scope>:<name> <guid> <checksum> <filesize>

rucio list-files [-h] [--csv] [--pfc LOCALPATH] dids [dids ...]

Positional Arguments

dids

List of space separated data identifiers.

Named Arguments

--csv

Comma Separated Value output. This output format is preferred for easy parsing and scripting.

Default: False

--pfc

Outputs the list of files in the dataset with the LOCALPATH prepended as a PoolFileCatalog

Default: False

list-content

List the content of a collection.

rucio list-content [-h] [--short] dids [dids ...]

Positional Arguments

dids

List of space separated data identifiers.

Named Arguments

--short

Just dump the list of DIDs.

Default: False

list-content-history

List the content history of a collection.

rucio list-content-history [-h] dids [dids ...]

Positional Arguments

dids

List of space separated data identifiers.

upload

Upload method.

rucio upload [-h] --rse RSE [--lifetime LIFETIME] [--scope SCOPE] [--register-after-upload] [--summary] [--guid GUID] [--protocol PROTOCOL] [--pfn PFN]
             [--name NAME] [--transfer-timeout TRANSFER_TIMEOUT]
             args [args ...]

Positional Arguments

args

files and datasets.

Named Arguments

--rse

Rucio Storage Element (RSE) name.

--lifetime

Lifetime of the rule in seconds.

--scope

Scope name.

--register-after-upload

Register the file only after successful upload.

Default: False

--summary

Create rucio_upload.json summary file

Default: False

--guid

Manually specify the GUID for the file.

--protocol

Force the protocol to use

--pfn

Specify the exact PFN for the upload.

--name

Specify the exact LFN for the upload.

--transfer-timeout

Transfer timeout (in seconds).

Default: 360

get

Download method (synonym for download)

rucio get [-h] [--dir DIR] [--allow-tape] [--rse RSE] [--protocol PROTOCOL] [--nrandom NRANDOM] [--ndownloader NDOWNLOADER] [--no-subdir] [--pfn PFN]
          [--archive-did ARCHIVE_DID] [--no-resolve-archives] [--transfer-timeout TRANSFER_TIMEOUT] [--aria] [--filter FILTER] [--scope SCOPE]
          [--metalink METALINK_FILE]
          [dids [dids ...]]

Positional Arguments

dids

List of space separated data identifiers.

Named Arguments

--dir

The directory to store the downloaded file.

Default: “.”

--allow-tape

Also consider tape endpoints as source of the download.

Default: False

--rse

RSE Expression to specify allowed sources

--protocol

Force the protocol to use.

--nrandom

Download N random files from the DID.

--ndownloader

Choose the number of parallel processes for download.

Default: 3

--no-subdir

Don’t create a subdirectory for the scope of the files. Existing files in the directory will be overwritten.

Default: False

--pfn

Specify the exact PFN for the download.

--archive-did

Download from archive is transparent. This option is obsolete.

--no-resolve-archives

If set archives will not be considered for download.

Default: False

--transfer-timeout

Transfer timeout (in seconds).

Default: 360

--aria

Use aria2c utility if possible. (EXPERIMENTAL)

Default: False

--filter

Filter files by key-value pairs like guid=2e2232aafac8324db452070304f8d745.

--scope

Scope if you are using the filter option and no full DID.

--metalink

Path to a metalink file.

download

Download method (synonym for get)

rucio download [-h] [--dir DIR] [--allow-tape] [--rse RSE] [--protocol PROTOCOL] [--nrandom NRANDOM] [--ndownloader NDOWNLOADER] [--no-subdir] [--pfn PFN]
               [--archive-did ARCHIVE_DID] [--no-resolve-archives] [--transfer-timeout TRANSFER_TIMEOUT] [--aria] [--filter FILTER] [--scope SCOPE]
               [--metalink METALINK_FILE]
               [dids [dids ...]]

Positional Arguments

dids

List of space separated data identifiers.

Named Arguments

--dir

The directory to store the downloaded file.

Default: “.”

--allow-tape

Also consider tape endpoints as source of the download.

Default: False

--rse

RSE Expression to specify allowed sources

--protocol

Force the protocol to use.

--nrandom

Download N random files from the DID.

--ndownloader

Choose the number of parallel processes for download.

Default: 3

--no-subdir

Don’t create a subdirectory for the scope of the files. Existing files in the directory will be overwritten.

Default: False

--pfn

Specify the exact PFN for the download.

--archive-did

Download from archive is transparent. This option is obsolete.

--no-resolve-archives

If set archives will not be considered for download.

Default: False

--transfer-timeout

Transfer timeout (in seconds).

Default: 360

--aria

Use aria2c utility if possible. (EXPERIMENTAL)

Default: False

--filter

Filter files by key-value pairs like guid=2e2232aafac8324db452070304f8d745.

--scope

Scope if you are using the filter option and no full DID.

--metalink

Path to a metalink file.

get-metadata

Get metadata for DIDs.

rucio get-metadata [-h] [--plugin PLUGIN] dids [dids ...]

Positional Arguments

dids

List of space separated data identifiers.

Named Arguments

--plugin

Filter down to metdata from specific metadata plugin

set-metadata

set-metadata method

rucio set-metadata [-h] --did DID --key KEY --value VALUE

Named Arguments

--did

Data identifier whose metadata will be set

--key

Attribute key

--value

Attribute value

delete-metadata

delete metadata

rucio delete-metadata [-h] --did DID --key KEY

Named Arguments

--did

Data identifier to delete

--key

Attribute key

list-rse-usage

Shows the total/free/used space for a given RSE. This values can differ for different RSE source.

rucio list-rse-usage [-h] [--history HISTORY] [--show-accounts] rse

Positional Arguments

rse

Rucio Storage Element (RSE) name.

Named Arguments

--history

List RSE usage history. [Unimplemented]

Default: False

--show-accounts

List accounts usages of RSE

Default: False

list-account-usage

Shows the space used, the quota limit and the quota left for an account for every RSE where the user have quota.

rucio list-account-usage [-h] [--rse RSE] usage_account

Positional Arguments

usage_account

Account name.

Named Arguments

--rse

Show usage for only for this RSE.

list-account-limits

List quota limits for an account in every RSEs.

rucio list-account-limits [-h] [--rse RSE] limit_account

Positional Arguments

limit_account

The account name.

Named Arguments

--rse

If this option is given, the results are restricted to only this RSE.

add-rule

Add replication rule.

rucio add-rule [-h] [--weight WEIGHT] [--lifetime LIFETIME] [--grouping {DATASET,ALL,NONE}] [--locked]
               [--source-replica-expression SOURCE_REPLICA_EXPRESSION] [--notify NOTIFY] [--activity ACTIVITY] [--comment COMMENT] [--ask-approval]
               [--asynchronous] [--account RULE_ACCOUNT] [--skip-duplicates]
               dids [dids ...] copies rse_expression

Positional Arguments

dids

DID(s) to apply the rule to

copies

Number of copies

rse_expression

RSE Expression

Named Arguments

--weight

RSE Weight

--lifetime

Rule lifetime (in seconds)

--grouping

Possible choices: DATASET, ALL, NONE

Rule grouping

--locked

Rule locking

Default: False

--source-replica-expression

RSE Expression for RSEs to be considered for source replicas

--notify

Notification strategy : Y (Yes), N (No), C (Close)

--activity

Activity to be used (e.g. User, Data Consolidation)

--comment

Comment about the replication rule

--ask-approval

Ask for rule approval

Default: False

--asynchronous

Create rule asynchronously

Default: False

--account

The account owning the rule

--skip-duplicates

Skip duplicate rules

Default: False

delete-rule

Delete replication rule.

rucio delete-rule [-h] [--purge-replicas] [--all] [--rse_expression RSE_EXPRESSION] [--account RULE_ACCOUNT] rule_id

Positional Arguments

rule_id

Rule id or DID. If DID, the RSE expression is mandatory.

Named Arguments

--purge-replicas

Purge rule replicas

Default: False

--all

Delete all the rules, even the ones that are not owned by the account

Default: False

--rse_expression

The RSE expression. Must be specified if a DID is provided.

--account

The account of the rule that must be deleted

rule-info

Retrieve information about a rule.

rucio rule-info [-h] [--examine] [--estimate-ttc] rule_id

Positional Arguments

rule_id

The rule ID

Named Arguments

--examine

Detailed analysis of transfer errors

Default: False

--estimate-ttc

Show Estimated Time To Complete for the rule. Calculation can be time consuming.

Default: False

list-rules

List replication rules.

rucio list-rules [-h] [--id RULE_ID] [--traverse] [--csv] [--file FILE] [--account RULE_ACCOUNT] [--subscription ACCOUNT SUBSCRIPTION] [did]

Positional Arguments

did

List by did

Named Arguments

--id

List by rule id

--traverse

Traverse the did tree and search for rules affecting this did

Default: False

--csv

Comma Separated Value output

Default: False

--file

List associated rules of an affected file

--account

List by account

--subscription

List by account and subscription name

Usage example

You can list the rules for a particular DID:

$ rucio list-rules user.jdoe:user.jdoe.test.container.1234.1
ID                                ACCOUNT    SCOPE:NAME                                 STATE[OK/REPL/STUCK]    RSE_EXPRESSION        COPIES  EXPIRES (UTC)
--------------------------------  ---------  -----------------------------------------  ----------------------  ------------------  --------  -------------------
a12e5664555a4f12b3cc6991db5accf9  jdoe       user.jdoe:user.jdoe.test.container.1234.1  OK[3/0/0]               tier=1&disk=1       1         2018-02-09 03:57:46
b0fcde2acbdb489b874c3c4537595adc  janedoe    user.jdoe:user.jdoe.test.container.1234.1  REPLICATING[4/1/1]      tier=1&tape=1       2
4a6bd85c13384bd6836fbc06e8b316d7  mc         user.jdoe:user.jdoe.test.container.1234.1  OK[3/0/0]               tier=1&tape=1       2

You can filter by account:

$ rucio list-rules --account jdoe
ID                                ACCOUNT    SCOPE:NAME                                 STATE[OK/REPL/STUCK]    RSE_EXPRESSION        COPIES  EXPIRES (UTC)
--------------------------------  ---------  -----------------------------------------  ----------------------  ------------------  --------  -------------------
a12e5664555a4f12b3cc6991db5accf9  jdoe       user.jdoe:user.jdoe.test.container.1234.1  OK[3/0/0]               tier=1&disk=1       1         2018-02-09 03:57:46
08537b2176843d92e05317938a89d148  jdoe       user.jdoe:user.jdoe.test.data.1234.1       OK[2/0/0]               SITE2_DISK          1

list-rules-history

List replication rules history for a DID.

rucio list-rules-history [-h] did

Positional Arguments

did

The Data IDentifier.

update-rule

Update replication rule.

rucio update-rule [-h] [--lifetime LIFETIME] [--locked LOCKED] [--account RULE_ACCOUNT] [--stuck] [--suspend] [--activity RULE_ACTIVITY]
                  [--source-replica-expression SOURCE_REPLICA_EXPRESSION] [--cancel-requests] [--priority PRIORITY] [--child-rule-id CHILD_RULE_ID]
                  rule_id

Positional Arguments

rule_id

Rule id

Named Arguments

--lifetime

Lifetime in seconds.

--locked

Locked (True/False).

--account

Account to change.

--stuck

Set state to STUCK.

Default: False

--suspend

Set state to SUSPENDED.

Default: False

--activity

Activity of the rule.

--source-replica-expression

Source replica expression of the rule.

--cancel-requests

Cancel requests when setting rules to stuck.

Default: False

--priority

Priority of the requests of the rule.

--child-rule-id

Child rule id of the rule.

move-rule

Move a replication rule to another RSE.

rucio move-rule [-h] rule_id rse_expression

Positional Arguments

rule_id

Rule id

rse_expression

RSE expression of new rule

list-rses

Show the list of all the registered Rucio Storage Elements (RSEs).

rucio list-rses [-h] [--expression RSE_EXPRESSION]

Named Arguments

--expression

The RSE filter expression. A comprehensive help about RSE expressions can be found in http://rucio.cern.ch/client_tutorial.html#adding-rules-for-replication

list-rse-attributes

This command is useful to create RSE filter expressions.

rucio list-rse-attributes [-h] rse

Positional Arguments

rse

The RSE name

list-datasets-rse

This method allows to list all the datasets on a given Rucio Storage Element. Warning: This command can take a long time depending on the number of datasets in the RSE.

rucio list-datasets-rse [-h] [--long] rse

Positional Arguments

rse

The RSE name

Named Arguments

--long

The long option

Default: False

test-server

Run a bunch of tests against the Rucio Servers.

rucio test-server [-h]

touch

Touch one or more DIDs and set the last accessed date to the current date

rucio touch [-h] [--rse RSE] dids [dids ...]

Positional Arguments

dids

List of space separated data identifiers.

Named Arguments

--rse

The RSE of the DIDs that are touched.