rsync or even scp questions....

Gary Kline kline at thought.org
Mon Oct 13 05:52:58 UTC 2008


On Sun, Oct 12, 2008 at 01:49:31AM -0700, Jeremy Chadwick wrote:
> On Sun, Oct 12, 2008 at 09:42:38AM +0100, Matthew Seaman wrote:
> > mdh wrote:
> >> --- On Sat, 10/11/08, Gary Kline <kline at thought.org> wrote:
> >>> 	On the Ubuntu computer I am /home/kline; on my main
> >>> computer,
> >>> 	my home is /usr/home/kline.   The following sh script
> >>> worked
> >>> 	perfected when my home on "tao" [FBSD] was
> >>> /home/kline:
> >>>
> >>> P
> >>> #!/bin/sh
> >>>
> >>> PWD=`pwd`;
> >>> echo "This directory is [${PWD}]";
> >>>
> >>> scp -qrp  ${PWD}/* ethos:/${PWD}
> >>> ###/usr/bin/scp -rqp -i /home/kline/.ssh/zeropasswd-id
> >>> ${PWD}/* \ klin
> >>> e at ethos:/${PWD}
> >>>
> >>> 	Question #1: is there any /bin/sh method of getting rid of
> >>> the
> >>> 	"/usr"?  I switch off between my two computers
> >>> especially when
> >>> 	get mucked up, as with my upgrade to kde4.  (Otherwise, I
> >>> do
> >>> 	backups of ~kline as well as other critical directories.)
> >>>
> >>> 	Is there a way of automatically using rsync rather that my
> >>> 	kwik-and-dirty /bin/shell script?
> >>>
> >>> 	thanks, people,
> >>>
> >>> 	gary
> >>
> >> If what you wish to do is simply get rid of /usr in a string, you can use sed like so:
> >> varWithoutUsr=`echo ${varWithUsr} |sed -e 's/\/usr//'`
> >> After running this, where $varWithUsr is the variable containing a 
> >> string like "/usr/home/blah", the variable $varWithoutUsr will be equal 
> >> to "/home/blah".  I create simple scripts like this all the time to 
> >> rename batches of files, for example.  
> >>
> >> The easier way is probably just to not specify a dir to scp's remote 
> >> path though, since it defaults to the user's home directory.  
> >
> > Or, in anything resembling Bourne shell:
> >
> > varWithoutUsr=${varWithUsr#/usr}
> 
> And I'll take a moment to recommend Matthew's method, since it does not
> involve fork()ing an additional process.
> 
> When writing shell scripts in general, it's best if you can avoid
> spawning external processes for things which can be done easily
> (keyword: easily!) within Bourne natively.  There's no harm in doing it
> for more complex things, but fork() is somewhat expensive, and try to
> imagine what will happen to those scripts if the system lacks process
> table space, etc...  :-)  Best to try and make everything
> "self-contained" if possible.


	right; esp'ly since i'll be running at least two scripts daily--
	at a min.  besides, the simpler /bin/sh script is something i use
	to save code or prose just in case the sky falls!

	ah, no wonder this is the best list in the {known} universe

> 
> -- 
> | Jeremy Chadwick                                jdc at parodius.com |
> | Parodius Networking                       http://www.parodius.com/ |
> | UNIX Systems Administrator                  Mountain View, CA, USA |
> | Making life hard for others since 1977.              PGP: 4BD6C0CB |
> 

-- 
 Gary Kline  kline at thought.org  http://www.thought.org  Public Service Unix
        http://jottings.thought.org   http://transfinite.thought.org




More information about the freebsd-questions mailing list