====== Copying Files from CASTOR to Zuerich directly ======
** Note: ** [[grid:transferzh | Transfer Instructions for Grid]]
===== How to =====
In order to copy files directly from CASTOR to a machine in Zurich, login to the machine grid-ui. There do
lhcb-proxy-init
which will prepare for file-transport.
Then do (e.g.):
lcg-cp -v 'srm://srm-lhcb.cern.ch:8443/srm/managerv2?SFN=/castor/cern.ch/user/myInitial/myUsername/myFile' file://home/hep/myUsername/myFile
The ''-v'' option just means ''verbose''.
** Note: ** You need a Grid Certificate to do this!
===== Multi-File Loop =====
If you want to transfer several files, Create a file containing a list like this
/castor/cern.ch/user/n/nchiapol/my-file-1.root
/castor/cern.ch/user/n/nchiapol/my-file-2.root
Now you can use the following one-liner to get all the files
for f in `cat files.txt`; do lcg-cp -v srm://srm-lhcb.cern.ch:8443/srm/managerv2?SFN=$f file://disk/data1/hep/nchiapol/targetDir/${f##*/}; done
''${f##*/}'' is the basename (e.g. my-file-1.root). You could probably use ''`basename $f`'' instead.
===== Transfer with a Script =====
In ''/home/hep/decianm/scripts'' you will find the script ''castortrans.sh''. The best is to make an alias in your ''.zshrc''-file like: ''alias castortrans="source /home/hep/decianm/scripts/castortrans.sh"''
The script can be used the following way:
* Open a new shell (it's always a good idea to open a new shell for transfers)
* Type
castortrans -i
This will set up your Grid environment.
* Type
castortrans -f yourFileOnCastor -t yourDestinationFile
. If you have the same username at CERN as locally in Zurich, yourFileOnCastor will be the path starting in your home-directory on CASTOR. yourDestinationFile will start in your home-directory in Zurich. If your usernames are not identical in Zurich and at CERN, you have to set them manually in the script.
* The script has been tested on a z-shell. As it is sourced and not only executed, it can not be guaranteed to work with all the other settings (hence the new shell).
===== Transfer with an automated Script =====
If you have several files to download, you can use the script ''multiplecastortrans.sh'' in ''/home/hep/decianm/scripts''.
The script can be used similarly to castortrans:
* Open a new shell (it's always a good idea to open a new shell for transfers)
* Type
multiplecastortrans -i
This will set up your Grid environment.
* Type
multiplecastortrans -f yourFileOnCastor -t yourDestinationFile -l lowerBound - u upperBound
With
@COUNTER$
you can add a counter in the path, for example.
multiplecastortrans -f /tuples/123/@COUNTER$/ouputdata/myRootFile.root -t myRootFile@COUNTER$.root -l 2 -u 4
will download the files from the directories
/tuples/123/2/ouputdata/myRootFile.root to myRootFile2.root
/tuples/123/3/ouputdata/myRootFile.root to myRootFile3.root
/tuples/123/4/ouputdata/myRootFile.root to myRootFile4.root