| |
|
|
|
|
UniTree and Batch Jobs |
On NCSA production machines, the msscmd utility is available to access
UniTree from a batch script. The syntax of the command is:
msscmd ftp-commands
where ftp-commands is either an
ftp command (e.g., ls, put,
get, mkdir) or a list of ftp commands separated by commas.
Some examples:
- msscmd cd cfdjob, get file3
- msscmd "cd cfdjob, mget file*"
- msscmd mkdir job25, cd job25, put job25.tar
Be sure to include quotes when using wildcards.
Sample batch scripts are available on NCSA HPC machines in the
following locations:
- /usr/local/doc/lsf/ on the Xeon Cluster (tungsten)
- /usr/local/doc/batch_scripts (abe)
- Sample Batch Script on the IA-64 Linux Cluster (mercury)
Prior to the job running, you'll need to move the files to UniTree.
You can use mssftp to do it interactively. Or you can use
msscmd commands to create the directory and move the files
there. For example, go to the directory that contains the files, then:
msscmd "mkdir testdir"
msscmd "cd testdir, put myexe"
or
msscmd "cd testdir, mput *"
See the online documentation for more information.
Here are the lines to change:
- Remove the msscmd get line and the chmod line.
- Replace them with a standard cp command, like:
cp ~/testdir/myexe .
- Don't forget to copy any output files at the end of
the job as well. They'll need to be copied from the scratch
directory to UniTree or your home directory (assuming they fit
within your home directory quota).
The standard output and standard error from the batch job should be in
the directory from which you submitted the job. So, an msscmd command
from the scratch directory like:
msscmd "cd test1, mput *.dat testjob.out testjob.err"
will not find testjob.out and testjob.err in that directory. In the
case of PBS, those files won't appear until after the job is done. So,
if you want to have those files on UniTree, manually copy them
after the job is done.
Here are some things to try:
- You can run the msscmd commands interactively in a scratch directory.
- You can add "ls -l" statements after msscmd get commands or before
the msscmd put commands so you can see what's in the directory.
|
|
|
|
|
|