SweStore/iRODS icommand

From SNIC Documentation
Revision as of 10:39, 31 October 2013 by Tom Langborg (NSC) (talk | contribs)
Jump to: navigation, search

For accessing the Swestore national storage, we use (since Nov 2013 iRODS, and more specifically the iRODS client called "icommands", which is a set of commands similar to the unix commands "ls", "cd", "imkdir" etc, but with an "i" in front, plus two FTP-like commands: "iput" and "iget" (plus some more, but those are the ones you need most).

Note that data put on Swestore via iRODS is not accessible through other means.

Activate the iRODS icommands The iRODS icommands client is activated through the module system, as so many other things on SNIC clusters.

1. Log in to SNIC cluster 2. Execute:

module load irods iinit After activating the iRODS icommands, you will be placed in one of your projects. if you run "ils", you will then see a listing of files and folders in that project, something like this:

[samuel@kalkyl4 ~]$ ils
 /ssUppnexZone/proj/b2011221:
   C- /ssUppnexZone/proj/b2011221/firstRun

Navigate around To enter one of the (or the only) folder(s), do:

icd [proj-id]

... in this case:

icd firstrun

To switch to another project, use

icd ..

to back up a level. After that, you can change to another project or folder using icd as previously

icd b2011222

Upload files To upload the above mentioned folder, do (-r is needed to recurse into directories):

iput -r [a local folder]

For single files, the -r flag is not needed:

iput [a local file]

To list the newly uploaded file/directory:

ils

To create folders, do:

imkdir [folder-name]

If you want to verify the upload outside of iRODS, there's a utility called ssverify.sh that will let you do that.

Downloading files To download a file again, do:

iget [a file in iRODS]

... or, for folders, do it recursively:

iget -r [a folder in iRODS]

File removal To remove a file, you'll like need to use -f to irm in order to bypass the use of a trash area, which is currently not supported at Uppmax.

More hints You can have iput show the progress with the -P flag If you want to be placed in a particular directory when you load the irods module, you can create a file called

$HOME/.irods/.irodsEnv

containing

irodsHome '/ssUppnexZone/proj/myproj'
irodsCwd '/ssUppnexZone/proj/myproj'

where

myproj

is replaced by your project id. Read more info about the respective i-commands with "[command] -h"