Data transfer using GoCommands¶
GoCommands provides a range of commands designed to efficiently and conveniently transfer large datasets between your local machine and the Data Store.
Download Data from the Data Store¶
-
Download a collection to a specific local path:
This command downloads the collection
/iplant/home/myUser/mydirand its contents to/local/dir/. A new directory namedmydirwill be created under/local/dir/, resulting in/local/dir/mydircontaining all the downloaded files and subdirectories.- The
--progressflag shows progress bars, providing visual feedback during file transfers. - The
-fflag forces overwriting of existing local files without confirmation. - The
-kflag ensures file integrity by verifying checksums after the download.
- The
-
Sync a collection in the Data Store with a local directory:
This command downloads the collection
/iplant/home/myUser/mydirand its contents to/local/dir/, syncing any new updates made to the original data.- The
--diffflag transfers only new or modified files, comparing sizes and checksums. - The
--deleteflag removes files from the destination that don't exist in the source.
This command is equivalent to:
- The
-
Download a collection using multiple parallel transfers:
This command downloads the collection
/iplant/home/myUser/mydirand its contents to/local/dir/using 10 parallel transfer threads. Utilizing more transfer threads can maximize I/O and network bandwidth, often speeding up the transfer process significantly.- The
--thread_numflag sets the maximum number of threads to use for the transfer.
Thread Count Considerations
- Higher thread counts require more CPU and memory. Excessive threads may overload your system, causing performance issues. For example, Discovery Environment (DE) apps limit transfer threads to 5 due to RAM constraints.
- The Data Store limits concurrent connections, potentially restricting high thread counts.
Using GoCommands on the University of Arizona Campus Network?
When using GoCommands on the UA Campus network, include the
--webdavflag for stable large file transfers. - The
Upload Data to the Data Store¶
-
Upload a local directory to a specific path in the Data Store:
This command uploads the local directory
/local/dir/and its contents to the Data Store at/iplant/home/myUser/mydir/. A new directory nameddirwill be created under/iplant/home/myUser/mydir/, resulting in/iplant/home/myUser/mydir/dircontaining all the uploaded files and subdirectories.- The
--progressflag shows progress bars during file transfers. - The
-fflag forces overwriting of existing files in the Data Store without confirmation. - The
-kflag ensures file integrity by verifying checksums after upload.
- The
-
Sync a local directory with a collection in the Data Store:
This command uploads the local directory
/local/dir/to/iplant/home/myUser/mydir/in the Data Store, syncing any new or updated files. It also removes extra files in the destination collection that do not exist locally.- The
--diffflag transfers only new or modified files, comparing sizes and checksums. - The
--deleteflag removes files from the destination that don't exist in the source.
This command is equivalent to:
- The
-
Upload a local directory using multiple parallel transfers:
This command uploads the local directory
/local/dir/and its contents to/iplant/home/myUser/mydir/in the Data Store using 10 parallel transfer threads. This can significantly speed up the upload process by maximizing I/O and network bandwidth.- The
--thread_numflag sets the maximum number of threads to use for the transfer.
Thread Count Considerations
- Higher thread counts require more CPU and memory. Excessive threads may overload your system, causing performance issues. For example, Discovery Environment (DE) apps limit transfer threads to 5 due to RAM constraints.
- The Data Store limits concurrent connections, potentially restricting high thread counts.
Using GoCommands on the University of Arizona Campus Network?
When using GoCommands on the UA Campus network, include the
--webdavflag for stable large file transfers. - The
-
Upload a local directory containing many small files:
This command uploads the local directory
/local/dir/containing numerous small files to/iplant/home/myUser/mydir/in the Data Store. Using bundle transfer and parallel transfer can significantly speed up the transfer of many small files.This command is equivalent to:
UNM CARC users
GoCommands is a single binary that installs without administrator rights, so you can install it in your CARC home directory and move data directly between CARC storage and the Data Store. CyVerse is one of CARC's partner platforms; for moving files onto and off CARC systems in general, see Transferring data in the CARC documentation.
Adapted from CyVerse Learning Materials (last source update 2026-03-19), CC BY 4.0. Spotted a problem? Open an issue.