The biggest change with using the new CLI is that the previous use of ssh has been replaced by a new command called "globus" (which is an application that must be installed).


Contents

Glossary

Frequently Asked Questions


Installation

References

System Requirements and Background

Steps

  1. Install "python pip" if needed: If "python pip" isn't installed, then do the following (or the equivalent for your OS):
    sudo yum install python-pip

  2. Install "virtualenv" if needed: Do "which virtualenv" to check if it's installed and if not, do:
    sudo pip install virtualenv

  3. Use virtualenv to create an isolated python environment and install the CLI in it:

    virtualenv "$HOME/.globus-cli-virtualenv"
    source "$HOME/.globus-cli-virtualenv/bin/activate"
    pip install globus-cli
    deactivate
  4. Add location of newly installed CLI to path:
    export PATH="$PATH:$HOME/.globus-cli-virtualenv/bin"
    To the end of $HOME/.bashrc (or other initialization file if using a different shell), add the line:
    export PATH="$PATH:$HOME/.globus-cli-virtualenv/bin"

  5. Check if the CLI is installed:
    globus --help

Transferring Data

Logging in

To use the CLI to view data, transfer data, or look up any Globus information, start by logging in to Globus:

globus login

This command opens a web browser window/tab which requires a normal Globus login (unless you are already logged in on the Globus website), and then continues to a CLI setup page. Follow the instructions and accept the terms to complete the setup. Once this web interaction completes, the above "globus login" command will also complete with a success message, while maintaining a state of being logged in. (Will later need to logout with a separate Globus command.)

Notes:

Useful globus commands once logged in

Owner             | ID                                   | Display Name              
----------------- | ------------------------------------ | --------------
arcc@globusid.org | xxxxxxxx-yyyy-zzzz-wwww-uuuuuuuuuuuu | ARCC Bighorn              
arcc@globusid.org | aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee | ARCC petaLibrary
...

Notes:

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

$ ep1=ddb59aef-6d04-11e5-ba46-22000b92c6ec

$ 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


Examples

Example 1: Transfer a File

To transfer a file from a server endpoint to a personal endpoint (with default options):

globus transfer 'xxxxxxxx-yyyy-zzzz-wwww-uuuuuuuuuuuu:/full/path/to/ansible_notes.odt' 'personal-endpoint-id:/full/path/other/location/ansible_notes.odt'

where each of the source and destination have the form <endpoint_ID>:<PATH>

When the above transfer request is successfully submitted, the command displays the Task ID for the transfer. Take note of this ID — it can be used to find detailed information about the task (see below).

Notes:

globus task cancel <task-ID>

Example 2: Transfer a Directory

To transfer a directory from a personal endpoint to a server endpoint (with default options):

globus transfer -r 'personal-endpoint-id:/~/dir_to_copy' 'xxxxxxxx-yyyy-zzzz-wwww-uuuuuuuuuuuu:/full/path/to/test-dir'

Notes:

Example 3: Remove a File

To remove a file from an endpoint:

globus delete 'aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee:/full/path/to/some/file'

Notes:

Example 4: Remove a Directory

To remove a directory from an endpoint:

globus delete -r 'xxxxxxxx-yyyy-zzzz-wwww-uuuuuuuuuuuu:/full/path/some/dir'

Notes:

Example 5: List Contents of a Directory

To list the contents of a directory:

globus ls 'aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee:/full/path/to/dir/'

Notes:

References