El escenario

Tengo los datos importantes en mi disco duro local y deseo hacer una copia de seguridad ya sea en una memoria USB previamente montada o en un segundo disco duro dentro de la misma máquina la cual solo utilizo para backups.

Dentro de dicho directorio (origen) tengo archivos que no cambian de backup en backup (o cambian muy poco) y por lo tanto no es necesario sobre-escribirlos en el destino de backup. En el directorio origen adicional tengo subdirectorios algunos de los cuales están vacíos y por lo tanto no deben ser copiados.

Parece complejo cierto? pero la solución es simple

El comando

rsync -uarmzhP /dir/origen/ /dir/destino

Donde las opciones son:

-u : update

-a: archive mode

-r: recursive

-m: no envía los directorios vacíos

-z: comprime mientras transfiere (así se ahorra tiempo y ancho de banda)

-h: presentación para humanos

-P: muestra el progreso de la copia

Si deseo borrar en el directorio destino los archivos que ya no estén en el directorio origen, el comando completo sería:

rsync -uarmzhP --delete /dir/origen/ /dir/destino

donde

delete: borra en el destino los archivos que ya no estén en el origen