Re: Una de bash y diff recursivo [Solucionado]
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 German Cardozo escribió: On Nov 25, 2011 8:15 AM, fernando sainz fernandojose.sa...@gmail.com mailto:fernandojose.sa...@gmail.com wrote: El día 25 de noviembre de 2011 13:16, jmramirez (mas_ke_na) mas_ke...@hotmail.com mailto:mas_ke...@hotmail.com escribió: Buenas a todos Estoy haciendo un script para que sincronice dos directorios (un nas de un edificio con otro nas en otro edificio), antes tenia puesto el rsync. Pero se agotaba el tiempo de espera y daba muchos fallos ( la conexión entre nas'es no es muy buena). Así que decidí copiar archivo por archivo ( hago otros backups correctamente de esta forma pero este me da problemas (Por los subdirectorios)) y que enviara correo. Así en caso de fallos se en que punto se quedo y puedo retomarlo. Lo que ocurre es que listo los directorios y los comparo con diff. Pero me he encontrado con muchos subdirectorios y con el modificador -r del diff no me funciona como yo espero. Una alternativa chunga seria que me creara un diff por cada subdirectorio, pero no se si el día de mañana habrá nuevos directorios. Así que recurro a la lista a ver si alguien puede ayudarme: (...) Muy Buenos Dias: Te recomiendo si deseas mantener el uso de el script, reemplazar los 'ls' con el comando 'find' de la siguiente manera: # find /root/SERVIDORES.54/NAVISION -type f -exec ls -lh {} \; Este te devolvera una lista con las rutas completas. Hay que trabajar un poco para que funcione el comando 'diff', pero tendras mejores resultados. Si revisas adicionalmente el manual, puede que te ayude a mejorar el rendimiento del script, usando algunas de las opciones para buscar por fechas o tamaños. Buenas. Perfecto, eso es lo que buscaba, que me diera los path's completos y de esta manera lo hace. Ahora tengo que trastearlo, pero creo que ahi esta la solucion. @Fernandojose.sainz Gracias por el apunte del ancho de banda, el lunes hare algunas pruebas a ver si no me deja frito el nas. Saludos, Gracias y un buen fin de semana a todos. German Cardozo Chirinos - -- Si los tontos volaran, el cielo se oscurecería No me envié correos en formatos propietarios http://www.gnu.org/philosophy/no-word-attachments.es.html -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.10 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iQEcBAEBAgAGBQJOz6bDAAoJEOWNzQnqy+fzMA8H/AnkSy37pnNHuIdjm42TP8iL 6bLXB7IAU3q1k1/eZe6c1QlAMax0FUjgtlrUMOOjb2yx0c21wEDvwjD22FhqQBSY SEHxksKGcOzFp2VnPfg0jkHgQYUPvv/39h8bflUTG2rd2Y4YX54SCWAPJiFFxjpc vfvCbOd3+nmGupbBxMeRm6REy1uze9HDkDC6tp0JGK6vkVH9OUdSK4WQj98W8dWI fpzA442y1tbwFodERjuRbN8szEKM0VoRJHvLIY1VoHEhEPRxbjo0BLQEgW71m46M 0f5cTAoSXHJHXhaUgvfEAFVwqbr8M2HcmlKQXLaVaIjpuKNEifJEh7OgJnZEfr8= =TNZI -END PGP SIGNATURE- -- To UNSUBSCRIBE, email to debian-user-spanish-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/blu0-smtp265d2ac32c71b4bbe422eedb1...@phx.gbl
Re: Una de bash y diff recursivo [Solucionado]
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 jmramirez (mas_ke_na) escribió: German Cardozo escribió: # find /root/SERVIDORES.54/NAVISION -type f -exec ls -lh {} \; Buenas Por si a alguien le viene bien aquí el script anterior retocado para que de las rutas completas (menos la morralla /root/SERVIDORES.54/NAVISION). He dado muchas vueltas, se podrá hacer mejor fijo (rsync) pero aquí esta: #!/bin/bash # guardo el listado de los directorios en ficheros. Navision=`ls -lRth /root/SERVIDORES.54/NAVISION | awk {'print $5,$6,$7,$8,$9'} /tmp/Navision.dir` Navisionbak=`ls -lRth /root/SERVIDORES.61/NAVISION | awk {'print $5,$6,$7,$8,$9'} /tmp/Navisionbak.dir` # Comparo con diff y paso al fichero lo que hay que copiar diff /tmp/Navision.dir /tmp/Navisionbak.dir |grep /tmp/Navision.txt # Limpio el listado para dejar solo el nombre a fin de copiarlo Navisionlimpio=`cat /tmp/Navision.txt | awk {'print $6'} /tmp/Navisionlimpio.txt` chmod +x /tmp/Navisionlimpio.txt # con el diff habia problemas por los subdirectorios,por lo que una vez que sabemos los ficheros. Hacemos una # busqueda dentro de su path para que de la ruta completa for nombre in $(cat /tmp/Navisionlimpio.txt) do find /root/SERVIDORES.54/NAVISION -name $nombre -type f -exec ls -lh {} \;| awk {'print $9'} /tmp/Navisionlimpio1.txt done cat /tmp/Navisionlimpio1.txt # comparo con diff usando una lista ( lee linea por linea) # Por cada linea del fichero, guarda la hora inicio, guarda el tiempo de ejecucion del comando # copia la cinta correspondiente guardando un log que luego envio por correo y guarda la hora de finalizacion # Navision for fichero in $(cat /tmp/Navisionlimpio1.txt) do tiempo=`date /tmp/Navision.log` /usr/bin/time -p -o /tmp/timeNavision.log echo /root/SERVIDORES.54/NAVISION/$fichero /root/SERVIDORES.61/NAVISION/$fichero /tmp/Navisioncopias.log tiempo1=`date /tmp/tiempo1Navision.log` /usr/local/nagios/libexec/correo_entreNASES.pl jmrami...@cosmantenimiento.com #/usr/local/nagios/libexec/correo_entreNASES.pl ppgo...@cosmantenimiento.com done # EOF Un saludo - -- Si los tontos volaran, el cielo se oscurecería No me envié correos en formatos propietarios http://www.gnu.org/philosophy/no-word-attachments.es.html -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.10 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iQEcBAEBAgAGBQJOz7BfAAoJEOWNzQnqy+fzWYgIAIGHZ5gybFnce4bSlwzo7+EZ /iy3syKU3gh9b9P1JpmhxHFaoI4VXKONee6vPP6kg/WjP2AOmD8d4cYRFsriGWnB KNDWEtu+VDGwc6FufJLx31Vudd+fLQTqR8sBNgc57X08TZjUbMdlM9tPFWGFTeK8 Jox6U4EOZAoeI8Zn8+x6yLnADs4AHbw7Cpwi/XbHCacNjLrwvcZT1DrMTN2REm/G dA/sMp/fXr/XbicDBye7WOXvrshXzif4uWWZb3OXJwRPbFwMo2uc0XQ1teVvPcvW +M/DDj58cBTFh8QiC+GZT4ZgB9s5BQvXxDIfV+9GFaygvOTgHk8coWkZSr6yVJ0= =MC4U -END PGP SIGNATURE- -- To UNSUBSCRIBE, email to debian-user-spanish-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/blu0-smtp138f9ac75684ae915ac0f82b1...@phx.gbl
Re: Una de bash y diff recursivo [Solucionado]
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 jmramirez (mas_ke_na) escribió: jmramirez (mas_ke_na) escribió: German Cardozo escribió: # find /root/SERVIDORES.54/NAVISION -type f -exec ls -lh {} \; Buenas Por si a alguien le viene bien aquí el script anterior retocado para que de las rutas completas (menos la morralla /root/SERVIDORES.54/NAVISION). He dado muchas vueltas, se podrá hacer mejor fijo (rsync) pero aquí esta: PERDON!!! copie el que no era, tiene algunos errores, este es el bueno: #!/bin/bash # guardo el listado de los directorios en ficheros. Navision=`ls -lRth /root/SERVIDORES.54/NAVISION | awk {'print $5,$6,$7,$8,$9'} /tmp/Navision.dir` Navisionbak=`ls -lRth /root/SERVIDORES.61/NAVISION | awk {'print $5,$6,$7,$8,$9'} /tmp/Navisionbak.dir` # Comparo con diff y paso al fichero lo que hay que copiar diff /tmp/Navision.dir /tmp/Navisionbak.dir |grep /tmp/Navision.txt # Limpio el listado para dejar solo el nombre a fin de copiarlo Navisionlimpio=`cat /tmp/Navision.txt | awk {'print $6'} /tmp/Navisionlimpio.txt` chmod +x /tmp/Navisionlimpio.txt # con el diff habia problemas por los subdirectorios,por lo que una vez que sabemos los ficheros. Hacemos una # busqueda dentro de su path para que de la ruta completa for nombre in $(cat /tmp/Navisionlimpio.txt) do find /root/SERVIDORES.54/NAVISION -name $nombre -type f -exec ls -lh {} \;| awk {'print $9'} /tmp/Navisionlimpio1.txt done cat /tmp/Navisionlimpio1.txt| cut -d / -f 5,6,7 /tmp/Navisionlimpio2.txt # comparo con diff usando una lista ( lee linea por linea) # Por cada linea del fichero, guarda la hora inicio, guarda el tiempo de ejecucion del comando # copia la cinta correspondiente guardando un log que luego envio por correo y guarda la hora de finalizacion # Navision for fichero in $(cat /tmp/Navisionlimpio2.txt) do tiempo=`date /tmp/Navision.log` /usr/bin/time -p -o /tmp/timeNavision.log echo /root/SERVIDORES.54/NAVISION/$fichero /root/SERVIDORES.61/NAVISION/$fichero /tmp/Navisioncopias.log tiempo1=`date /tmp/tiempo1Navision.log` /usr/local/nagios/libexec/correo_entreNASES.pl jmrami...@cosmantenimiento.com #/usr/local/nagios/libexec/correo_entreNASES.pl ppgo...@cosmantenimiento.com done # EOF - -- Si los tontos volaran, el cielo se oscurecería No me envié correos en formatos propietarios http://www.gnu.org/philosophy/no-word-attachments.es.html -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.10 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iQEcBAEBAgAGBQJOz7GUAAoJEOWNzQnqy+fzPVoH/ArvnMrGkN447i5Py+DfdXYT flJUYVtu6fXtYN80g5+YcrPm2+iwHCqKBDhxzWGPTN5mxXnuQIDw2O74OUQjIM3d T5pwmIXb8qzrvsZ9X4XAtilZZnySBsZgkiiThMM0ucO5LFrZeeoURtKvARIDzcFO iyIgxAbeYN5vJ4zgl7lbs94ru4yjqux416yyNS1aCQ5b3tJtEIPeclqRbJCxDUhx n7W8s3tS0LaPPpbvt0Hty/65daZi3lAfyCGXv9OHm5wewtT67cLVqh228NQGmlf+ A3gqZyHC9u8ZIdirfqQoxWSisFlX8Ifa9bkDoX6rcnOyq2WfybINA9arCX+p4Zk= =JgHw -END PGP SIGNATURE- -- To UNSUBSCRIBE, email to debian-user-spanish-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/blu0-smtp44962515cb1183421418aacb1...@phx.gbl