ancabi
02-04-2009, 19:12
buenas, estoy haciendo un script para que copie un fichero de una maquina (mediante scp), el problema viene cuando el archivo no siempre es el mismo, sino que... por ejemplo el fichero1.bd llega a 2gb y pasa a fichero2.bd, el cual se ira llenando hasta llegar a 2gb y asi sucesivamente
yo tengo que desde el script entrar por ssh al servidor, hacer un bucle que lea el ultimo digito del fichero
fichero$num.bd
y compare cada 1 con su tamaño, cuando el tamaño sea 0, resta 1 a $num y lo guarda para que el scp lo use para copiar
yo hice esto:
num=0
archivo=0
#lee el tamaño del fichero
archivo=`du -s /home/ancabi/f$num.txt | awk '{print $1}'`
while [ $archivo=0 ]; do
#incrementa 1 a num
let num=$num+1
archivo=`du -s /home/ancabi/f$num.txt | awk '{print $1}'`
done
echo $archivo
echo $num
cuando lo ejecuto lo hace bien pero claro, antes de llegar al done, el du busca f3.txt y no lo encuentra, pasa a f4.txt y no lo encuentra y se crea un bucle infinito que incrementa num y no encuentra el fichero
pero f2.txt el tamaño es 0, por lo cual el while deberia de para pero no lo hace
intente explicarme lo mejor posible
saludos
yo tengo que desde el script entrar por ssh al servidor, hacer un bucle que lea el ultimo digito del fichero
fichero$num.bd
y compare cada 1 con su tamaño, cuando el tamaño sea 0, resta 1 a $num y lo guarda para que el scp lo use para copiar
yo hice esto:
num=0
archivo=0
#lee el tamaño del fichero
archivo=`du -s /home/ancabi/f$num.txt | awk '{print $1}'`
while [ $archivo=0 ]; do
#incrementa 1 a num
let num=$num+1
archivo=`du -s /home/ancabi/f$num.txt | awk '{print $1}'`
done
echo $archivo
echo $num
cuando lo ejecuto lo hace bien pero claro, antes de llegar al done, el du busca f3.txt y no lo encuentra, pasa a f4.txt y no lo encuentra y se crea un bucle infinito que incrementa num y no encuentra el fichero
pero f2.txt el tamaño es 0, por lo cual el while deberia de para pero no lo hace
intente explicarme lo mejor posible
saludos