viernes, 11 de marzo de 2011

Barajita premiada (#22) - copiando en consola con barra de progreso

Copiar ficheros de un lado a otro por consola resulta trivial, esto se puede hacer utilizando el comando cp. Luego, hay momentos en los que se debe copiar mucha información... Por ejemplo, yo hago respaldos de mi info en un disco externo cada cierto tiempo y son varios gigas, entonces al hacer una copia no conocía nada del estatus de la copia, sólo me quedaba la persignación... XD

Podría pensar que soy un freak por hacer copias por consola, la cuestión es que es mucho más útil porque puedo manipular la salida de error estándar y no dejo colgada la interfaz gráfica!

Generalmente hacía algo como:

# cp -r /etc/ /home/ /opt/ /root/ /var/ 201111_respaldo_linux 2>201111_respaldo_linux/errores

Ahora, sólo sabía como iba esto cuando terminaba... Como máximo podía ir viendo errores con un "tail -f" sobre el fichero de errores, algo así:

# cp -r /etc/ /home/ /opt/ /root/ /var/ 201111_respaldo_linux 2>201111_respaldo_linux/errores & tail -f 201111_respaldo_linux/errores

Pero ya no sufro más!!! Encontré una mejor manera de hacer esto, utilizando rsync que me da detalle del progreso de la operación...

# rsync -aRv --progress --delete /etc/ /home/ /opt/ /root/ /var/ 201111_respaldo_linux 2>201111_respaldo_linux/errores

Esto mostrará el estatus de la copia (al más puro estilo scp), las opciones: -a, -R, -v, --progress y --delete, las utilizo -respectivamente- para: copiar ficheros, utilizar nombres relativos, activar modo verboso, mostrar progreso y eliminar contenidos diferentes de la fuente en el destino.


No hay comentarios:

Publicar un comentario