diff --git a/cluster_basic/copy_from_scratch_to_UNIL_NAS.sh b/cluster_basic/copy_from_scratch_to_UNIL_NAS.sh index a1b8f98..9461dbf 100755 --- a/cluster_basic/copy_from_scratch_to_UNIL_NAS.sh +++ b/cluster_basic/copy_from_scratch_to_UNIL_NAS.sh @@ -1,117 +1,114 @@ #!/bin/bash # print_help() { echo "=================================================================" >&2 echo " DCSR, University of Lausanne " >&2 echo " " >&2 echo "Usage : sh $0 " >&2 echo " " >&2 echo "Purpose: shows how to use movedat to transfer a file or " >&2 echo " a directory to a remote directory in the UNIL NAS. " >&2 echo " shows how to use movedat to list remote content. " >&2 echo " " >&2 echo "=================================================================" >&2 exit 1 } # Check command line options # -------------------------- if [ "$#" == "1" ]; then if [ "$1" == "-h" ] || [ "$1" == "--help" ]; then $(print_help) else echo; echo "FATAL: only accepted options are -h and --help."; echo fi exit 1 fi if [ "$#" -ge "2" ]; then echo; echo "FATAL: only accepts a single option (-h or --help)"; echo exit 1 fi # Do not change the following definitions! # ---------------------------------------- SERVER=dexwin.unil.ch # Do not change! FILENAME=LocalFile_$USER.txt # Do not change! DIRNAME=LocalDir_$USER # Do not change! REMOTE_DIR=TRAINING/UNIL/CTR/rfabbret/cours_hpc/D2c # Do not change! CLUSTER=wally # Do not change! SCRATCH_DIR=/scratch/$CLUSTER/TRAINING/UNIL/CTR/rfabbret/cours_hpc # Do not change! # STEP 1: Check that $SCRATCH_DIR actually exists! # ------------------------------------------------ if [ ! -d $SCRATCH_DIR ]; then echo echo "FATAL: destination folder ($SCRATCH_DIR) does not exist!" echo " Please adapt \$SCRATCH_DIR to point towards your scratch directory" echo " SCRATCH_DIR=/scratch/\$CLUSTER/FAC//" echo exit 1 else echo; echo -e "STEP 1: all good, \$SCRATCH_DIR ($SCRATCH_DIR) is an existing directory!"; echo; echo fi # STEP 2: List the content of $SCRATCH_DIR # ---------------------------------------- echo "STEP 2: Listing the content of $SCRATCH_DIR:" ls -rtl $SCRATCH_DIR echo; echo # STEP 3: Create a dummy file to copy to UNIL NAS # ----------------------------------------------- echo "I am $USER's dummy file." > $SCRATCH_DIR/$FILENAME echo "STEP 3: Created file: $SCRATCH_DIR/$FILENAME" echo " Use the following command to display its content:" echo " cat $SCRATCH_DIR/$FILENAME" echo; echo # STEP 4: Copy file $FILENAME from your scratch directory to UNIL NAS, keeping the same name # ------------------------------------------------------------------------------------------ echo "STEP 4: Using movedat to copy $SCRATCH_DIR/$FILENAME to UNIL NAS (keeping the name)" movedat $SCRATCH_DIR/$FILENAME $USER@$SERVER:$REMOTE_DIR/ # To copy with same name echo; echo # STEP 5: Copy file $FILENAME from your scratch directory to UNIL NAS, keeping the same name # ------------------------------------------------------------------------------------------ echo "STEP 5: Using movedat to copy $SCRATCH_DIR/$FILENAME to UNIL NAS, renaming the file" movedat $SCRATCH_DIR/$FILENAME $USER@$SERVER:$REMOTE_DIR/${FILENAME}_renamed # To rename the copied file echo; echo # STEP 6: List content of remote directory on UNIL NAS # ---------------------------------------------------- echo "STEP 6: Listing the content of remote directory $REMOTE_DIR/" movedat $USER@$SERVER:$REMOTE_DIR/ # Must be ending by "/" echo; echo # STEP 7: Create a small directory structure # ------------------------------------------ echo "STEP 7: Creating a small directory structure" mkdir -pv $SCRATCH_DIR/$DIRNAME/Subdir1/Subdir2 echo tree $SCRATCH_DIR/$DIRNAME/ echo; echo # STEP 8: Copy the directory structure $DIRNAME from your scratch to the UNIL NAS # Note: with '-h' option you copy file-by-file # with '-i' option you enable streaming mode -# Note: the remote directory has to exist before you can put content in! # ------------------------------------------------------------------------------ -echo "STEP 8: Create a remote destination directy on UNIL NAS and" -echo " copy a directory structure into it" -movedat -n $USER@$SERVER:$REMOTE_DIR/$DIRNAME # Create the destination directory first -echo -movedat -h $SCRATCH_DIR/$DIRNAME $USER@$SERVER:$REMOTE_DIR/$DIRNAME # Copy the content +echo "STEP 8: Copying a directory structure to the NAS" +movedat -h -B $SCRATCH_DIR/$DIRNAME $USER@$SERVER:$REMOTE_DIR/$DIRNAME # Copy the content echo; echo +