Cuanto más uso rsync
más me doy cuenta que es una navaja de transferencia de archivos. Hay muchas opciones. Recientemente me enteré que puedes ir --remove-source-files
y a eliminar un archivo de la fuente al que se ha copiado, que lo hace un poco más de un movimiento, en lugar de programa copia. :)
¿Favoritos poco rsync consejos y trucos?
Respuestas
¿Demasiados anuncios?Trate de usar rsync versión 3 Si tienes muchos archivos sincronizar! V3 construye progresivamente su lista de archivos y es mucho más rápido y utiliza menos memoria que la versión 2.
Dependiendo de su plataforma, esto puede hacer una gran diferencia. En OSX versión 2.6.3 llevaría más de una hora o un accidente tratando de construir un índice de archivos 5 millones mientras que la versión 3.0.2 compilé comenzó copiando enseguida.
El uso de --link-dest
a crear un espacio-eficiente instantánea basado en las copias de seguridad, con la cual no parecen tener múltiples copias completas de la copiada de datos (uno para cada ejecución de copia de seguridad) pero los archivos que no cambian entre pistas están muy vinculados en lugar de crear nuevas copias de ahorro de espacio.
(en realidad, yo todavía uso el rysnc
-seguido-por-cp -al
método con el que se consigue la misma cosa, ver http://www.mikerubel.org/computers/rsync_snapshots/ para un anciano-pero-todavía-muy-buena ejecución de ambas técnicas y cuestiones afines)
La mayor desventaja de esta técnica es que si un archivo está dañado debido a un error de disco es igual de corrupto en todas las instantáneas que enlace a ese archivo, pero tengo copias de seguridad sin conexión también que protegería contra este digno medida. La otra cosa a tener en cuenta es que el sistema de ficheros tiene suficiente inodos o te quedarás fuera de ellos antes de ejecutar fuera de espacio en disco (aunque nunca he tenido un problema con el sistema de archivos ext2/3 valores predeterminados).
Además, nunca te olvides de la muy muy útil --dry-run
para un poco de sana paranoia, especialmente cuando se utiliza la --delete*
opciones.
Si usted necesita para actualizar un sitio web con algunas de las grandes archivos a través de una slowish enlace, usted puede transferir los archivos pequeños de esta manera:
rsync-a-max-size=100K /var/www/:/var/www/
luego de hacer esto para los archivos de gran tamaño:
rsync-a-min-tamaño=100K --bwlimit=100 /var/www/:/var/www/
rsync tiene un montón de opciones que son útiles para los sitios web. Por desgracia, no han construido una forma de detectar las actualizaciones simultáneas, así que tienes que añadir lógica a cron scripts para evitar la superposición de las escrituras de archivos de gran tamaño.
--rsh
es mía.
Lo he usado para cambiar la clave en ssh a algo más rápido ( --rsh="ssh -c arcfour"
) también a establecer una cadena de ssh
s (recomendamos usarlo con ssh-agent
) para sincronizar archivos entre hosts que no pueden hablar directamente. (rsync -av --rsh="ssh -TA userA@hostA ssh -TA -l userB" /tmp/foobar/ hostB:/tmp/foobar/
).