[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Lanzar comandos secuencialmente



El vie, 16-01-2009 a las 16:32 +0100, Gorka escribió:
> Tengo un script con el que trato de comprimir un gran número de carpetas en
> una máquina-origen (desde donde lo lanzo), mover estos tar.gz por scp a otra
> máquina-destino y descomprimirlos en esta máquina-destino. El problema es
> que cuando lo ejecuto me lo hace bien sólo para la última carpeta del pipe,
> para las otras me crea archivos tar.gz vacíos en el origen que no llega a
> mover. ¿Alguien sabe por qué?
> 
> Este es el script.sh:
> 
> #!/bin/bash
> echo COMPRIMIENDO ...
> tar -cvzf $1.tar.gz $1
> echo ENVIANDO TAR.GZ ...
> scp ./$1.tar.gz usuario@10.0.0.100:/destino
> echo ELIMINANDO TAR.GZ ORIGEN ...
> rm -rf ./$1.tar.gz
> echo DESCOMPRIMIENDO TAR.GZ DESTINO ...
> ssh usuario@10.0.0.100 tar xvzf /destino/$1.tar.gz -C /destino/
> echo ELIMINANDO TAR.GZ DESTINO ...
> ssh usuario@10.0.0.100 rm -rf /destino/$1.tar.gz
> 
> Y este es el comando que ejecuto como ‘usuario’ (funciono con clave
> pública/privada entre ambas máquinas) desde maquina-origen:
> 
> $script.sh carpeta1 |script.sh carpeta2 | script.sh carpeta3
> 


¿Porqué usas pipes entre stdin y stdout del script?

si tienes que mover 3 carpetas:

$ script.sh carpeta1 ; script.sh carpeta2 ; script.sh carpeta3


> Como digo, sólo me lo hace bien para ‘carpeta3’, el resto no aparecen en
> máquina-destino, aunque en maquina-origen aparecen carpeta1.tar.gz y
> carpeta2.tar.gz con un par de Kbs, cuando cada carpeta ocupa cientos de Gbs.
> 
> 
> 

Para mover datos mediante ssh => rsync

Saludos
-- 
http://soleup.eup.uva.es/mariodebian

Attachment: signature.asc
Description: Esta parte del mensaje =?ISO-8859-1?Q?est=E1?= firmada digitalmente


Reply to: