Q: --one-file-system and nested file systems

Brian McEntire brianm at fsg1.nws.noaa.gov
Thu Apr 8 18:35:20 GMT 2004


Thanks Wayne! 

> reading of the files on the source machine.  However, you can include
> all the source filesystems as args in a single copy command and it will
> enforce the single-filesystem (inode-based) restriction separately for
> each arg you specify:
> 
>   rsync -avxR -e ssh --numeric-ids --delete \
>     --exclude-from=/backups/control/all.exclude \
>     root at B:'/ /usr /usr/local /usr/local/apache' /backups/B

That works great from the command line. One follow-up question for anyone 
with good shell scripting experience:

I'm trying to automate this with a Bash script to grab file systems from a
couple of remote hosts.  Here's how I get a list of the file systems local
to the remote hosts within the script:

FILESYSTEMS=`ssh $remHost df -l|awk '/\// {print $NF}'`

Variable FILESYSTEMS then contains, for example:
/
/boot
/var

But when try to make the rsync call from my script:
  rsync ... root at B:\'$FILESYSTEMS\' /backups/B

I can't get the quoting right. I don't know if its me (probably :-) or the 
shell or rsync. I've tried variations with '' or " but no luck yet.

The script contains:

rsync -av -e 'ssh -q' --one-file-system --numeric-ids --relative \
    --delete --exclude-from=$CONTROL/all.exclude $CONDEXCLUDE \
    root@$SRCHOST:\'${FILESYSTEMS}\' . 
 
But here's what tries to get executed (set -x in the script shows each
command to be executed):

rsync -av -e 'ssh -q' --one-file-system --numeric-ids --relative --delete
--exclude-from=/backups/control/all.exclude 'root at B:'\''/' /boot /dev/shm
'/sandbox'\''' .


Does anyone know a good way to quote or set the FILESYSTEMS variable so I 
can effectively run, from within a script:
  rsync ... root at B:$FILESYSTEMS that will equate to root at B:'/ /boot /var' 


Thanks a bunch!! 

Not that it matters, I'm amazed by the patches and responses on this list!
Its awesome; reminds me of the old days of the Internet.  :-)



More information about the rsync mailing list