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