Estoy comprando un disco duro externo para hacer una copia de seguridad de las computadoras de mi casa (¡por fin!). Espero usar rsync. He visto un ejemplo que hace (o parece hacer) exactamente lo que quiero. Algo como esto:
rsync -aE --delete /path/to/what/I/want/to/backup /Volumes/FW200/Backups
Sin embargo, al mirar la documentación rsync y los ejemplos, etc., las cosas comenzaron a parecer MUCHO más complicadas que eso. Redes y demonios y jerga, ¡Dios mío!
Supongo que ninguna de esas cosas es necesaria siempre que solo esté sincronizando desde una computadora a un disco externo conectado a FireWire. ¿Me equivoco al asumir eso? ¿Las cosas realmente serán más complicadas que ese comando inocuo?
Respuestas:
Rsync funciona bien en unidades locales. Sin embargo, si detecta rutas locales, entra automáticamente en modo de archivo completo que no copia los diferenciales, sino que simplemente copia el archivo de origen sobre el archivo de destino. Sin embargo, Rsync seguirá ignorando los archivos que no han cambiado en absoluto. Cuando el ancho de banda entre el origen y el destino es alto (como dos discos locales), esto es mucho más rápido que leer ambos archivos y luego copiar solo los bits modificados.
fuente
Uso rsync con las siguientes banderas fácilmente memorables como 'glop' y 'trunc' y 'v'.
rsync -gloptrunc $srcdir $dstdir
Una breve guía:
nota: en los sistemas de archivos locales, esto se anula y en su lugar se copian archivos completos.
Siempre ejecuto lo anterior para asegurarme de que funciona, luego elimino la bandera 'n' que una vez que estoy satisfecho con los resultados.
Las características clave de las combinaciones anteriores:
Utilizo esto para mantener dos máquinas sincronizadas, o para mantener las subdirecciones sincronizadas (como hacer una copia de seguridad en una unidad USB).
Como una de las otras publicaciones indicadas anteriormente, la 'suma de verificación' en realidad puede ser desactivada si se trata de unidades locales.
En algunos casos raros, tuve que agregar parámetros adicionales para dar cuenta de los cambios en las cuentas de inicio de sesión en máquinas remotas, cambiar puertos e incluso especificar dónde vive 'rsync' en el host remoto ... pero esos no son directamente aplicables a su pregunta.
fuente
rsync -gloptrunc --delete --delete-excluded $srcdir $dstdir
. El--delete
dice que elimine cualquier cosa en el destino que no esté en la fuente, y--delete-excluded
dice que también elimine los archivos excluidos en el destino que normalmente no serían rastreados o copiados. Si lo usa--delete-excluded
, técnicamente no necesita usarlo también--delete
, pero está bien usarlos de todos modos. Los detalles se encuentran en las páginas de manual aquí: linux.die.net/man/1/rsync .Nada de eso es necesario, puedes usar rsync sin ningún demonio o cualquier otro tipo de configuración ¡SOLO BIEN!
Solo usa el comando rsync y listo.
fuente
A juzgar por la ruta en su comando rsync, ¿estaría en lo cierto al pensar que está utilizando Mac OS X?
Personalmente, optaría por usar Time Machine (si está usando Leopard) o Carbon Copy Cloner ( http://www.bombich.com/software/ccc.html ) que usa rsync.
Mucho más fácil que tratar de corregir su propio guión. Una ventaja es que Time Machine y CCC le proporcionarán copias de seguridad incrementales.
fuente
Parece que el ejemplo que usó funcionará bien para las copias de seguridad.
Sin embargo, una cosa que quizás desee considerar al usar rsync es utilizar la opción --link-dest. Esto le permite mantener múltiples copias de seguridad, pero usar enlaces duros para cualquier archivo sin cambios, haciendo que todas las copias de seguridad ocupen espacio de forma incremental. Un ejemplo de uso sería:
Esto supone que tiene una copia de seguridad fechada para el 12 de junio y desea crear una nueva el 13 de junio. Es posible que desee omitir la opción -v si no desea una impresión de cada archivo.
fuente
Realmente depende de si estás ejecutando bases de datos o no. Rsync tomará una instantánea de cada archivo e ignorará cualquier escritura que intervenga. Si desea hacer una copia de seguridad de una base de datos, debe considerar configurar un filtro de ignorar y ejecutar herramientas de volcado de base de datos antes del rsync.
fuente
Su comando tal como está escrito debería funcionar, sin embargo, es posible que desee ver un programa llamado rsnapshot que se basa en rsync y mantiene varias versiones de archivos para que pueda volver y mirar las cosas como estaban la semana pasada o el mes pasado. La configuración es bastante fácil y es realmente buena para la optimización del espacio, por lo que, a menos que tenga mucha rotación, no ocupará mucho más espacio que una sola copia de seguridad.
fuente
No mencionaste tu sistema operativo. Asumiendo que es un sistema operativo basado en * nix, su comando es bueno.
Sin embargo, si una o ambas unidades tienen el formato NTFS, se accede desde * nix o incluso desde Windows usando Mobaxterm / cygwin, entonces la funcionalidad incremental rsync no funcionaría bien con
rsync -a (archive flag)
Si las unidades NTFS están involucradas, puede usar:
Descargue el cliente Mobaxterm ssh para tener la funcionalidad rsync en Windows.
Aquí hay más información sobre el uso de rsync con unidades NTFS
fuente
Intenté usar rsync para la copia de seguridad, pero terminó siendo un desastre. rsync es más adecuado para 'sincronizar' que para hacer una copia de seguridad. Y va para siempre comparar archivos grandes.
Investigué un poco y probé varios (básicamente probando a todos desde la copia de seguridad de búsqueda de apt-cache en ubuntu).
Finalmente, terminé con ' backup2l - herramienta de copia de seguridad / restauración de bajo mantenimiento', es fácil. Me gusta la forma en que gestiona la planificación y la rotación (en niveles). Lo ejecuto siempre que tengo mi unidad externa USB conectada desde la línea de comandos, pero también puede automatizarla.
fuente
Prueba dirvish para hacer la copia de seguridad. http://www.dirvish.org/
Utiliza los enlaces duros de rsync en las llamadas bóvedas. Puede conservar la mayor parte de los volcados antiguos que pueda tomar el disco USB. O configúrelo de forma automatizada.
Una vez que comprenda la idea de dirvish, es más conveniente usarlo que rsync con todas sus opciones.
fuente
Encuentro una solución para una computadora con Windows: http://www.itefix.no/i2/node/10650
Para copiar D: \ partición a una unidad externa K: \
rsync -aE --delete --progress /cygdrive/d/* /cygdrive/k
fuente