Last Updated: April 10, 2017


Command Line Interface (CLI)

Note:

The following examples are all written for a Bash shell. If you are running another shell you may need to modify the non globus commands and syntax found in these examples. These examples also assume the user has already successfully logged into Globus. To do so run

$ globus login

and follow the instructions. If you are having problems logging in, consult Getting Started

Finding an Endpoint

Searches for a tutorial endpoint, then stores its ID in a local variable to allow for human-readable calls to further globus endpoint commands.

$ globus endpoint search "Globus Tutorial Endpoint"
Owner                      | ID                                   | Display Name
-------------------------- | ------------------------------------ | --------------------------
go@globusid.org            | ddb59aef-6d04-11e5-ba46-22000b92c6ec | Globus Tutorial Endpoint 1
go@globusid.org            | ddb59af0-6d04-11e5-ba46-22000b92c6ec | Globus Tutorial Endpoint 2

# copy and paste the desired Endpoint ID from the search results
$ ep1=ddb59aef-6d04-11e5-ba46-22000b92c6ec

# now we can use the endpoint in a human readable fashion
$ globus endpoint show $ep1
Display Name:              Globus Tutorial Endpoint 1
ID:                        ddb59aef-6d04-11e5-ba46-22000b92c6ec
Owner:                     go@globusid.org
Activated:                 True
Shareable:                 True
Department:                None
Keywords:                  None
Endpoint Info Link:        None
Contact E-mail:            None
Organization:              None
Department:                None
Other Contact Info:        None
Visibility:                True
Default Directory:         None
Force Encryption:          False
Managed Endpoint:          True
Subscription ID:           964be8f5-5f9b-11e4-b64e-12313940394d
Legacy Name:               go#ep1
Local User Info Available: False

Search results truncated for readability.

Endpoint Manipulation

Demonstrates the synchronous commands of mkdir, rename, and ls.

# Tutorial Endpoint ID found from 'globus endpoint search Tutorial'
$ ep1=ddb59aef-6d04-11e5-ba46-22000b92c6ec

# Make a new directory
$ globus mkdir $ep1:~/cli_example_dir
The directory was created successfully

# Rename the directory
$ globus rename $ep1:~/cli_example_dir $ep1:~/cli_example_dir_renamed
File or directory renamed successfully

# Show the directory contents after the changes
# (assuming ~/ was empty before these commands)
$ globus ls $ep1:~/
cli_example_dir_renamed/

Single Item Transfers

Submits transfer requests for a file and a directory from one Globus Tutorial Endpoint to another

# Tutorial Endpoint IDs found from 'globus endpoint search Tutorial'
$ ep1=ddb59aef-6d04-11e5-ba46-22000b92c6ec
$ ep2=ddb59af0-6d04-11e5-ba46-22000b92c6ec

# transfer file1.txt from one endpoint to another
$ globus transfer $ep1:/share/godata/file1.txt $ep2:~/file1.txt \
    --label "CLI single file"
Message: The transfer has been accepted and a task has been created and queued for execution
Task ID: 466a5962-dda0-11e6-9d11-22000a1e3b52

# recursively transfer the godata folder from one endpoint to another
$ globus transfer $ep1:/share/godata $ep2:~/godata \
    --recursive --label "CLI single folder"
Message: The transfer has been accepted and a task has been created and queued for execution
Task ID: 47477b62-dda0-11e6-9d11-22000a1e3b52

Batch Transfers

Uses a .txt file to request multiple files in one transfer request.

# this is the contents of in.txt:
# a list of source paths followed by destination paths

file1.txt file1.txt
file2.txt file2.txt # inline-comments are also allowed
file3.txt file3.txt
# Tutorial Endpoint IDs found from 'globus endpoint search Tutorial'
$ ep1=ddb59aef-6d04-11e5-ba46-22000b92c6ec
$ ep2=ddb59af0-6d04-11e5-ba46-22000b92c6ec

# since batch mode reads from stdin, we can direct input from a .txt file
# all paths from stdin are relative to the paths supplied here
$ globus transfer $ep1:/share/godata/ $ep2:~/ \
    --batch --label "CLI Batch" < in.txt
Message: The transfer has been accepted and a task has been created and queued for execution
Task ID: 306900e0-dda1-11e6-9d11-22000a1e3b52

Note that only one task was needed even though there are multiple files to be transferred.

Deletions

Submits delete task requests for the files transferred by the previous two examples. Note that even if the target files are non-existent this example will still submit delete tasks without error, but the tasks themselves will fail.

# this is the contents of in.txt:
# a list of source paths##

file1.txt
file2.txt # inline comments are supported
file3.txt
# Tutorial Endpoint ID found from 'globus endpoint search Tutorial'
$ ep2=ddb59af0-6d04-11e5-ba46-22000b92c6ec

# recursive deletion of a single folder
$ globus delete $ep2:~/godata --recursive --label "CLI single delete"
Message: The delete has been accepted and a task has been created and queued for execution
Task ID: a3ec193a-dda1-11e6-9d11-22000a1e3b52

# batch deletion of multiple files
# we are again using a .txt file for our batch stdin
$ globus delete $ep2:~/ --batch --label "CLI batch delete" < in.txt
Message: The delete has been accepted and a task has been created and queued for execution
Task ID: a4761f4a-dda1-11e6-9d11-22000a1e3b52

Task Management

Submits an unauthorized transfer task to demonstrate how to view data on why a task hasn’t completed and then cancel the task

# Tutorial Endpoint IDs found from 'globus endpoint search Tutorial'
$ ep1=ddb59aef-6d04-11e5-ba46-22000b92c6ec
$ ep2=ddb59af0-6d04-11e5-ba46-22000b92c6ec

# submit a transfer request we do not have permission for
$ globus transfer $ep1:/share/godata $ep2:/share/godata \
    --recursive --label "Unauthorized Transfer"
Message: The transfer has been accepted and a task has been created and queued for execution
Task ID: 67d6e4ba-dda2-11e6-9d11-22000a1e3b52

# copy and paste the task id for later use
$ task_id=67d6e4ba-dda2-11e6-9d11-22000a1e3b52

# view details about the task
# note the Details field reads PERMISSION_DENIED
$ globus task show $task_id
Label:                Unauthorized Transfer
Task ID:              67d6e4ba-dda2-11e6-9d11-22000a1e3b52
Type:                 TRANSFER
Directories:          1
Files:                3
Status:               ACTIVE
Request Time:         2017-01-18 17:20:28+00:00
Deadline:             2017-01-19 17:20:28+00:00
Details:              PERMISSION_DENIED
Source Endpoint:      Globus Tutorial Endpoint 1
Destination Endpoint: Globus Tutorial Endpoint 2

# cancel the task
$ globus task cancel $task_id
The task has been cancelled successfully.

Note the Details field read PERMISSION_DENIED, but the status field was still ACTIVE. Globus will eventually time out such a request when the Deadline is reached, but the user has until then to try to repair any permissions.

Bookmarks

Creates a bookmark then demonstrates how they can be used in place of UUIDs

# Tutorial Endpoint ID found from 'globus endpoint search Tutorial'
$ ep1=ddb59aef-6d04-11e5-ba46-22000b92c6ec

# Make a new bookmark at Tutorial Endpoint 1's godata folder
$ globus bookmark create $ep1:/share/godata/ "Example Bookmark"
Bookmark ID: ab45785a-dda3-11e6-9d11-22000a1e3b52

# The bookmark now shows up in the bookmarks list
$ globus bookmark list
Name             | Endpoint ID                          | Bookmark ID                          | Path
---------------- | ------------------------------------ | ------------------------------------ | --------------
Example Bookmark | ddb59aef-6d04-11e5-ba46-22000b92c6ec | ab45785a-dda3-11e6-9d11-22000a1e3b52 | /share/godata/

# The bookmark can now be used to get a path without any UUIDs
$ globus ls $(globus bookmark show "Example Bookmark")
file1.txt
file2.txt
file3.txt

Shared Endpoints

Makes a directory on a Tutorial Endpoint, sets it up as a Shared Endpoint, and creates a permission for that endpoint.

# Tutorial Endpoint ID found from 'globus endpoint search Tutorial'
$ ep1=ddb59aef-6d04-11e5-ba46-22000b92c6ec

# set up a directory to be our shared endpoint
# note that this will throw an error if a directory already exists at this path
$ globus mkdir $ep1:~/shared_dir
The directory was created successfully

# set up the directory as a shared endpoint
$ globus endpoint create --shared $ep1:/~/shared_dir "CLI Example Shared Endpoint" \
    --description "Example endpoint created using the Globus CLI"
Message:     Shared endpoint created successfully
Endpoint ID: 3e4efafe-dda4-11e6-9d11-22000a1e3b52

# copy and paste the new shared endpoint ID for later use
$ shared=<paste here>

# add a permission to the endpoint
# this permission is r for read only
# and is given to anyone who has logged in
$ globus endpoint permission create $shared:/ \
    --permissions r --all-authenticated
Message: Access rule created successfully.
Rule ID: 62f909c6-dda4-11e6-9d11-22000a1e3b52

# the new permission will now appear on the endpoints permission list
# note that the new permission appears alongside the owner's automatic
# read-write permissions
$ globus endpoint permission list $shared
Rule ID                              | Permissions | Shared With             | Path
------------------------------------ | ----------- | ----------------------- | ----
62f909c6-dda4-11e6-9d11-22000a1e3b52 | r           | all_authenticated_users | /
NULL                                 | rw          | example@globusid.org    | /

# the endpoint itself also shows up on your list of shared endpoints
$ globus endpoint search --filter-scope shared-by-me
Owner                 | ID                                   | Display Name
--------------------- | ------------------------------------ | ---------------------------
example@globusid.org  | 3e4efafe-dda4-11e6-9d11-22000a1e3b52 | CLI Example Shared Endpoint

Safe Resubmissions

Generates a submission-id that allows for resubmitting a task multiple times while guaranteeing that the actual task will only be carried out once. This is useful for handling the unreliability of networks.

Note that the task ID of the task will differ from the submission ID.

# Tutorial Endpoint IDs found from 'globus endpoint search Tutorial'
$ ep1=ddb59aef-6d04-11e5-ba46-22000b92c6ec
$ ep2=ddb59af0-6d04-11e5-ba46-22000b92c6ec

# generate and store a UUID for the submission-id
$ sub_id=$(globus task generate-submission-id)

# submit multiple transfers using the same submission-id
$ globus transfer $ep1:/share/godata $ep2:~/godata --recursive \
    --submission-id $sub_id --label "1st submission"
Message: The transfer has been accepted and a task has been created and queued for execution
Task ID: 8b43c4e2-dda5-11e6-9d11-22000a1e3b52

$ globus transfer $ep1:/share/godata $ep2:~/godata --recursive \
    --submission-id $sub_id --label "2nd submission"
Message: A transfer with id '8b43c4e3-dda5-11e6-9d11-22000a1e3b52' was already submitted
Task ID: 8b43c4e2-dda5-11e6-9d11-22000a1e3b52

$ globus transfer $ep1:/share/godata $ep2:~/godata --recursive \
    --submission-id $sub_id --label "3rd submission"
Message: A transfer with id '8b43c4e3-dda5-11e6-9d11-22000a1e3b52' was already submitted
Task ID: 8b43c4e2-dda5-11e6-9d11-22000a1e3b52

# view the task list to confirm only one task was submitted
$ globus task list
Task ID                              | Status    | Type     | Source Display Name        | Dest Display Name          | Label
------------------------------------ | --------- | -------- | -------------------------- | -------------------------- | ---------------------
8b43c4e2-dda5-11e6-9d11-22000a1e3b52 | SUCCEEDED | TRANSFER | Globus Tutorial Endpoint 1 | Globus Tutorial Endpoint 2 | 1st submission

Note that only one submission has a success message, but all return the ID for the Task, which only gets carried out once.

Hosted Command Line Interface (Legacy)

Last Updated: May 12, 2016

This guide provides a brief introduction to the hosted CLI.

Prerequisites

To use the CLI you must have a Globus account with ssh access enabled. To enable your account for ssh access you must add your ssh public key to your Globus account by visiting the Manage Identities page and clicking "add linked identity", followed by "Add SSH Public Key". If you do not have an ssh key, follow the directions here to create one.

CLI Structure

There is no need to install custom client software. CLI users interact with Globus via a secure shell. The general structure of a CLI request is:

$ ssh <username>@cli.globusonline.org <command> <options> <params>

where: <username> is your Globus user name, <command> is the Globus command to execute, <options> are the options available for <command>, and <params> are the parameters passed to <command>. If desired, gsissh can be used in place of ssh.

File Transfer

The Globus transfer service provides the transfer command for moving files.

All Globus accounts are provisioned with two endpoints for exploratory use, so as soon as you have an account you should be able to transfer /share/godata/file1.txt from endpoint go#ep1 to your home directory on go#ep2, as shown below by user demodoc:

$ ssh demodoc@cli.globusonline.org transfer -- go#ep1/share/godata/file1.txt go#ep2/~/myfile.txt
Task ID: 9be793ca-5983-12e6-c030-22100b92c261
$ ssh demodoc@cli.globusonline.org status 9be793ca-5983-12e6-c030-22100b92c261
Task ID     : 9be793ca-5983-12e6-c030-22100b92c261
Request Time: 2016-10-03 16:08:23Z
Command     : transfer -- go#ep1/share/godata/file1.txt go#ep2/~/myfile.txt
Label       : n/a
Status      : SUCCEEDED
$ ssh demodoc@cli.globusonline.org ls go#ep2/~/
myfile.txt

Online Help

You can execute the help command to view the current Globus CLI command set:

$ ssh demodoc@cli.globusonline.org help
Type '<command> -h' for basic help on a command.
Type 'man <command>' for detailed help.

Task Management        Endpoint Management         Other
---------------        -------------------         -----
cancel                 acl-add                     echo
details                acl-list                    help
events                 acl-remove                  history
modify                 bookmark-add                identity-details
status                 bookmark-list               man
wait                   bookmark-remove             profile
                       endpoint-activate
Task Creation          endpoint-add
-------------          endpoint-deactivate
delete                 endpoint-details
rm                     endpoint-modify
transfer               endpoint-remove
                       endpoint-rename
File Management        endpoint-role-add
---------------        endpoint-role-list
ls                     endpoint-role-remove
mkdir                  endpoint-search
rename                 server-add
                       server-list
                       server-remove

In addition, <command> -h displays a command syntax summary and man <command> displays the command’s manual page.

Endpoint Activation

Activation is a Globus endpoint user authentication mechanism; it enables endpoint owners to determine who is transferring files. Transfers will only proceed when both the source and destination endpoints are activated. You can practice by activating the Globus endpoints:

$ ssh demodoc@cli.globusonline.org endpoint-activate go#ep1
$ ssh demodoc@cli.globusonline.org endpoint-activate go#ep2

In the following example user demodoc activates NERSC endpoints using the ssh -t option to prevent the passphrase from being echoed to stdout. Activation gives you authorization to the endpoint itself, but you still need to be authorized (have permissions) to the given resources on an endpoint before you can access them through Globus. Being authorized to access an endpoint is separate from being further authorized to access specific resources on and endpoint. Access to a given endpoint is entirely within the endpoint owner’s control, so you must contact owners directly to obtain permission to use their endpoints.

$ ssh -t demodoc@cli.globusonline.org endpoint-activate nersc#carver
Myproxy activation for endpoint: 'nersc#carver'
Using Myproxy server: 'nerscca.nersc.gov'
Enter username (Default: 'demodoc'):
Enter password:
Connection to cli.globusonline.org closed.
$ ssh -t demodoc@cli.globusonline.org endpoint-activate nersc#hopper
Myproxy activation for endpoint: 'nersc#hopper'
Using Myproxy server: 'nerscca.nersc.gov'
Enter username (Default: 'demodoc'):
Enter password:
Connection to cli.globusonline.org closed.

Because 'carver' and 'hopper' have been activated using NERSC credentials, and the 'carver' and 'hopper' owners have authorized the user to access their endpoints, demodoc is able to transfer a file:

$ ssh demodoc@cli.globusonline.org transfer -- nersc#carver/share/godata/file1.txt nersc#hopper/~/myfile.txt
Task ID: 6356aa16-ed20-11df-aa30-1231350018b1

Now, user demodoc activates the XSEDE endpoint 'stampede'. The endpoint owner requires that the user go to the XSEDE OAuth service so that the user’s password does not flow through Globus. This requires copying the URL shown in the terminal window to a web browser and following the prompts. Once the user has authenticated on XSEDE’s OAuth server, a confirmation message is displayed in the terminal:

$ ssh -t demodoc@cli.globusonline.org endpoint-activate xsede#stampede
*** Please use this URL to activate the endpoint(s) ***
https://www.globusonline.org/activate?ep=xsede%23stampede
*** Waiting... Press CTRL-C to cancel ***
*** Credential Received! ***
Connection to cli.globusonline.org closed.

An endpoint can also be activated using gsissh:

$ gsissh demodoc@cli.globusonline.org endpoint-activate -g ci#pads
Credential Subject : /DC=org/DC=doegrids/OU=People/CN=Demo Docuser 595766/CN=576965990/CN=436543765
Credential Time Left: 11:59:54
Activating 'ci#pads'

Endpoints can also be activated inline by specifying the -g option with the transfer command.

CLI: Beyond the Basics

Endpoint Management

In addition to serving as a discovery mechanism for community endpoints Globus enables users to create and (optionally) share their own endpoint definitions.

Logical endpoints can be created using the endpoint-add command. They can be continually modified (by adding physical addresses, renaming, etc.) and persist until explicitly deleted with the endpoint-remove command.

In the following example user demodoc adds an endpoint with a standalone ssh command. To demonstrate the Globus interactive shell mode, the user then adds two endpoints within an interactive Globus CLI session. Two logical endpoints are created, with vpac having one associated physical address and never having two:

$ ssh demodoc@cli.globusonline.org endpoint-add vpac -p gsiftp://arcs-df.vpac.org:2811/
$ ssh demodoc@cli.globusonline.org
Welcome to globusonline.org, demodoc. Type 'help' for help.
$ endpoint-add -p never-1.ci.uchicago.edu never
$ endpoint-add -p never-2.ci.uchicago.edu never
$ exit
Connection to cli.globusonline.org closed.

Globus endpoint definitions are either public or private. Public endpoints are visible to all Globus users; private endpoints are visible only to those who created them. Here we see that after user demodoc makes an endpoint public, demodoc#never in visible in the public list:

$ ssh demodoc@cli.globusonline.org
$ endpoint-modify --public never
Set 'never' to public
$ endpoint-list -p
alcf\#dtn
ci#pads
go#ep1
go#ep2
demodoc#never
nersc#dtn
$ endpoint-list -p -v demodoc#never
Name : demodoc#never
Host(s) : gsiftp://never-2.ci.uchicago.edu:2811, gsiftp://never-1.ci.uchicago.edu:2811
Subject(s) :
MyProxy Server: n/a

endpoint-list with no options displays the user’s list of previously-activated endpoints (both public and private), along with the remaining activation time for each endpoint:

$ ssh demodoc@cli.globusonline.org
$ endpoint-list
alcf#dtn 09:36:54
ci#pads 08:54:51
go#ep1 10:34:43
go#ep2 10:34:43
demodoc#never 09:36:54
nersc#dtn 08:25:47

In addition to explicit creation, endpoints can be implicitly created by way of transfer. If the transfer command refers to a hostname instead of a logical name, a private endpoint will be automatically created to represent it. Further information about implicit endpoint creation can be found in the transfer man page.

Data Management

Globus provides the transfer command for moving files. Globus also supports features such as file synchronization and idempotent submission.

The following example shows a detached recursive transfer. By default transfer will be canceled if your ssh session is disconnected or you press Ctrl-C. The transfer command reads an EOF or Ctrl-D terminated list of source and destination pairs from stdin and attempts to transfer all of the files in the list until successful or the user specified deadline has been reached. The following example directs Globus to recursively copy the contents of a directory from UChicago RCC to NERSC. Any outstanding transfer requests not completed after the 6 hour deadline (-d 6h) will be ignored:

$ echo "ucrcc#midway/demodoc/sdata/10Kfiles100M/ nersc#dtn/project/mpccc1/dest/sdata/alcf20100122/ -r" | ssh demodoc@cli.globusonline.org transfer -d 6h
Task ID: 427b63ec-ee04-11df-aa30-1231350018b1
Created transfer task with 1 file(s)

Another way to specify a transfer dataset is via a file list. A file list can contain a mix of directory source/dest pairs and individual file source/dest pairs. The following example specifies that the 10,000 individual files listed in file 10Kmidway-nersc100MB.dat should be transferred:

$ cat ./10Kmidway-nersc100MB.dat | ssh demodoc@cli.globusonline.org transfer
Task ID: 28d854ae-ee18-11df-aa30-1231350018b1
Created transfer task with 10000 file(s)

The following two examples highlight the Globus one-way file synchronization feature. The first executes a file size-based check, the second executes a full md5sum check:

$ echo "go#ep1/share/godata/ go#ep2/~/ -r -s 1" | ssh demodoc@cli.globusonline.org transfer
Task ID: 609b53fc-ebff-11df-aa30-1231350018b1
Created transfer task with 1 file(s)
$ echo "ucrcc#midway/demodoc/sdata/10Kfiles100M/ nersc#dtn/project/mpccc1/dest/sdata/alcf20100122/ -r -s 3" | ssh demodoc@cli.globusonline.org transfer
Task ID: 1c05440a-ee57-11df-aa30-1231350018b1
Created transfer task with 1 file(s)

The following example demonstrates the use of the transfer command to transfer a single file from the go#ep1 source endpoint to the go#ep2 destination endpoint.

$ ssh demodoc@cli.globusonline.org transfer -- go#ep1/share/godata/file1.txt go#ep2/~/file1.txt
Task ID: e9f0be51-49df-11e6-8222-22000b97daec
$ status -l 1 -a
Task ID     : e9f0be51-49df-11e6-8222-22000b97daec
Request Time: 2016-07-14 16:27:54Z
Command     : transfer -- go#ep1/share/godata/file1.txt go#ep2/~/file1.txt
Label       : n/a
Status      : SUCCEEDED

Once-and-only-once submission:

$ ssh demodoc@cli.globusonline.org transfer --generate-id
7f2fb1d6-ee76-11df-aa30-1231350018b1
$ cat ./10Kmidway-nersc100MB.dat | ssh demodoc@cli.globusonline.org transfer --taskid=7f2fb1d6-ee76-11df-aa30-1231350018b1
Killed by signal 2.
$ cat ./10Kmidway-nersc100MB.dat | ssh demodoc@cli.globusonline.org transfer --taskid=7f2fb1d6-ee76-11df-aa30-1231350018b1
Deadline : 2010-11-12 19:24:31Z
Task ID: 7f2fb1d6-ee76-11df-aa30-1231350018b1
Created transfer task with 10000 file(s)
$ cat ./10Kmidway-nersc100MB.dat | ssh demodoc@cli.globusonline.org transfer --taskid=7f2fb1d6-ee76-11df-aa30-1231350018b1
Notice: Task ID already created

Monitoring

Globus provides users with realtime and historical information about their tasks. Push mechanisms include email notifications of interesting events such as task completion, credential expiration, and account creation. Pull mechanisms return metadata at the task level (the task id returned by the transfer command) and the subtask level (each individual file transfer is considered a subtask and has a unique id.)

The default status command lists all pending tasks:

$ ssh demodoc@cli.globusonline.org
$ status
Task ID : 28d854ae-ee18-11df-aa30-1231350018b1
Request Time: 2010-11-12 04:48:57Z
Command : transfer (+10000 input lines)
Status : ACTIVE

The status command also provides a way to list the last n tasks (-l n) regardless of state (-a):

$ ssh demodoc@cli.globusonline.org
$ status -l 4 -a
Task ID : 3f4c2cc6-ee20-11df-aa30-1231350018b1
Request Time: 2010-11-12 05:46:51Z
Command : scp -g alcf#dtn:~/samplefile.txt gridftp.lonestar.tacc.xsede.org:~/samplefile.txt
Status : SUCCEEDED

Task ID : 28d854ae-ee18-11df-aa30-1231350018b1
Request Time: 2010-11-12 04:48:57Z
Command : transfer (+10000 input lines)
Status : ACTIVE

Task ID : 427b63ec-ee04-11df-aa30-1231350018b1
Request Time: 2010-11-12 02:26:30Z
Command : transfer -d 6h (+1 input line)
Status : SUCCEEDED

Task ID : 4a3c471e-edef-11df-aa30-1231350018b1
Request Time: 2010-11-11 23:56:24Z
Command : scp -D -r ucrcc#midway:/demodoc/sdata/10Kfiles100M/ nersc#dtn:/project/mpccc1/dest/sdata/alcf20100122/
Status : SUCCEEDED

The default details command provides an overview of a transfer’s state:

$ ssh demodoc@cli.globusonline.org
$ details 28d854ae-ee18-11df-aa30-1231350018b1
Task ID : 28d854ae-ee18-11df-aa30-1231350018b1
Task Type : TRANSFER
Parent Task ID : n/a
Status : ACTIVE
Request Time : 2010-11-12 04:48:57Z
Deadline : 2010-11-13 04:48:57Z
Completion Time : n/a
Total Tasks : 10000
Tasks Successful : 8831
Tasks Expired : 0
Tasks Canceled : 0
Tasks Failed : 0
Tasks Pending : 1169
Tasks Retrying : 8
Command : transfer (+10000 input lines)
Files : 10000
Directories : 0
Bytes Transferred: 925997465600
MBits/sec : 2224.619

The details -t command lists subtasks (i.e. individual files) for a transfer task. In the following example the command produces a 10,001 line file (a header, plus one line for each file):

$ ssh demodoc@cli.globusonline.org details -t -f all -O csvh 28d854ae-ee18-11df-aa30-1231350018b1 > details.csv

The events command provides information about events that occurred while executing a task. In this first example user demodoc is inspecting the progress of an earlier checksum-based sync by examining the "files_summed=" counts:

$ ssh demodoc@cli.globusonline.org events 1c05440a-ee57-11df-aa30-1231350018b1 | tail -10
Code : PROGRESS
Description : Performance monitoring event
Details : bytes_summed=349700096000 files_summed=3335
Task ID : 1c05440b-ee57-11df-aa30-1231350018b1
Parent Task ID: 1c05440a-ee57-11df-aa30-1231350018b1
Time : 2010-11-12 13:20:09.578755Z
Code : PROGRESS
Description : Performance monitoring event
Details : bytes_summed=355886694400 files_summed=3394

In this example, user demodoc is extracting all events that occurred while transferring a 1TB dataset (and storing them in a file for later inspection):

$ ssh demodoc@cli.globusonline.org events -f all -O csvh 28d854ae-ee18-11df-aa30-1231350018b1 > events.csv

Once your Globus task has finished an email will be sent to the address specified in your profile. Here is an example transfer completion notification:

Subject: Task 28d854ae-ee18-11df-aa30-1231350018b1: SUCCEEDED
From: "Globus Notification" <notify@globus.org>
To: ldemters@abc.edu

=== Task Details ===
Task ID : 28d854ae-ee18-11df-aa30-1231350018b1
Task Type : TRANSFER
Parent Task ID : n/a
Status : SUCCEEDED
Request Time : 2010-11-12 04:48:57Z
Deadline : 2010-11-13 04:48:57Z
Completion Time : 2010-11-12 05:51:08Z
Total Tasks : 10000
Tasks Successful : 10000
Tasks Expired : 0
Tasks Canceled : 0
Tasks Failed : 0
Tasks Pending : 0
Tasks Retrying : 0
Command : transfer (+10000 input lines)
Files : 10000
Directories : 0
Bytes Transferred: 1048576000000
MBits/sec : 2248.957

Cancel

The cancel command enables you to kill pending transfers for a given task. Files already copied by Globus are unaffected by cancel. Information about the state of each file can be extracted with details (SUCCEEDED files were transferred prior to the cancel):

$ ssh demodoc@cli.globusonline.org cancel 639bb59a-bccc-11df-b9bf-1231391536db
Canceling task '639bb59a-bccc-11df-b9bf-1231391536db'.... OK
$ ssh demodoc@cli.globusonline.org details -t -f status,src_file -O csv 639bb59a-bccc-11df-b9bf-1231391536db | grep SUCCEEDED
SUCCEEDED,/intrepid-fs0/users/demodoc/persistent/datasrc/sdata/10Kfiles100M/cf8-165
SUCCEEDED,/intrepid-fs0/users/demodoc/persistent/datasrc/sdata/10Kfiles100M/cf0-140
SUCCEEDED,/intrepid-fs0/users/demodoc/persistent/datasrc/sdata/10Kfiles100M/cf7-192
...
$ ssh demodoc@cli.globusonline.org details -t -f status,src_file -O csv 639bb59a-bccc-11df-b9bf-1231391536db | grep FAILED
FAILED,/intrepid-fs0/users/demodoc/persistent/datasrc/sdata/10Kfiles100M/cf1-419
FAILED,/intrepid-fs0/users/demodoc/persistent/datasrc/sdata/10Kfiles100M/cf8-418
FAILED,/intrepid-fs0/users/demodoc/persistent/datasrc/sdata/10Kfiles100M/cf8-212
...

© 2010- The University of Chicago Legal