help required for passing parameters to rsync within a script

michael cs at networkingnewsletter.org.uk
Tue Sep 23 21:22:37 GMT 2008


I'm attempting to write a short script to copy all 'CONC*' files in any
subdir under ./ using rsync and filters but I can't get the correct
quoting/escaping... any ideas?

eg cmd line (all on a single line):

/home/horace/mccssmb2/src/rsync-2.6.9__icc/rsync --times --links -z
--progress --stats -v -rP --filter='+ */' --filter='+ CONC*' --filter='-
*' . michael at ratty.phy.umist.ac.uk:/data_hdd1/michael/`basename $PWD`


but I can't see how to sort FILTER in this bash script such that + and
*/ all work properly... ta, Michael

# cmd - need newer than system rsync
RSYNC_EXE=${HOME}/src/rsync-2.6.9__icc/rsync
RSYNC_CMDS='--times --links -z --progress --stats -v --dry-run -rP'
# source top-level
SRC=. # from here down
# dest (remote)
DEST=michael at ratty.phy.umist.ac.uk:/data_hdd1/michael/`basename $PWD` #
ensure in same dir on remote

# filter: all subdirs but only CONC* files
FILTER="--filter=+ \* --filter=+ CONC\* --filter=- \*"
echo $FILTER
set -x
${RSYNC_EXE} ${RSYNC_CMDS} ${FILTER} ${SRC} ${DEST}




More information about the rsync mailing list