=rsync
== related
* [[linux:rsync:backup]]
* otra guía: [[http://troy.jdmz.net/rsync/index.html]]
* al detalle: [[https://www.computerhope.com/unix/rsync.htm]]
== ejemplos
* sincronización de 2 directorios locales:rsync -a -v dir1/ dir2
* ''-a'' implica:
* ''-r'' : recursividad
* ''-l'' : copiar symlinks como tal
* ''-p'' : copiar permisos
* ''-o,-g'' : copiar owner y grupo
* ''-t'' preservar marca tiempo original
* ''-D'' : preservar archivos especiales
* ''%%--%%especials''
* ''%%--%%devices''
* ''-v'' : verbosidad
* ''-n'' : dry-run
== otros parámetros
* ''%%--%%stats''
* ''%%--%%human-readable''
* ''%%--%%progress''
* ''%%--%%log-file''
* ''%%--%%files-from''
* no path absoluto
* no **..**
* relativo al directorio especificado: ''rsync -a %%--%%files-from=/tmp/foo /usr remote:/backup''
* [[https://stackoverflow.com/questions/16647476/how-to-rsync-only-a-specific-list-of-files]]
== --files-from
* rsync -av -n --stats --log-file=/var/services/homes/admin/rsync.log --files-from=/var/services/homes/admin/glacier.txt /volume3/analysis /volumeUSB1/usbshare/analysis
* ''--files-from'' ha de contener listado de archivos relativo (al parámetro, en este caso, **/volume3/analysis**)
* /usr/aalbajese
/usr/acondeg
/usr/amorenoa
/share/Connectome
...
* con ello se consigue la ruta real: ''/volume3/analysis/usr/acondeg'' o ''/volume3/analysis/share/Connectome''
* ''-n'' indica DRY-RUN
== --include-from
* [[https://man7.org/linux/man-pages/man1/rsync.1.html#FILTER_RULES]]
* ''-F'' indica que lea el fichero ''.rsync-filter'' en cada directorio (donde se indica que patterns permitir o denegar)
== lista directorios prescincibles
/bin/*
/dev/*
/boot/*
/lib/*
/lib64/*
/lost+found/*
/media/*
/mnt/*
/opt/*
/proc/*
/run/*
/sbin/*
/srv/*
/sys/*
/tmp/*
/usr/*