Actualmente realizo una copia de seguridad del contenido de un disco duro externo A al (1) eliminar todo en el disco duro externo de destino B y (2) copiar todo de A a B (en Finder). El disco duro externo solo contiene "datos básicos" (carpetas, imágenes, videos, documentos, etc.), nada extravagante.
Pero con todas las increíbles herramientas gratuitas que existen, no pude encontrar una decente para respaldar (se aceptan sugerencias).
Quiero automatizar esto. Después de algunas búsquedas, parece que puedo usar rsync
. Entonces quiero automatizar esto usando rsync
para evitar copiar archivos que ya están en el disco duro de destino (por supuesto, si se ha realizado un cambio, quiero actualizar el archivo / carpeta; lo mismo con archivos / carpetas eliminados o archivos nuevos / carpetas; la idea es imitar lo que suelo hacer manualmente con Finder).
Llegué a este punto
rsync -av --progress --delete /Volumes/A/ /Volumes/B
Ahora el registro está lleno de archivos cuyo nombre empieza con .
o ._
ni siquiera ._.
. ¿Son necesarios?
Pregunta
¿Cómo puedo copiar solo los archivos que importan, dejando atrás todos los que no importan? Por ejemplo, si tengo photo.png
esperaría copiar photo.png
, no ._photo.png
o muchos archivos.
¿Qué --exclude
o --exclude-from
puede ser utilizado con seguridad en un Mac? Una buena regla puede ser "simplemente copie todo lo que Finder muestre", que es lo que copiaría si pasara manualmente por todas las carpetas.
Pregunta extra
Es -av --progress --delete
suficiente? ¿Estoy cometiendo un delito o arriesgando algunos datos? ¿Qué opciones usarías?
Por favor, respalde su respuesta con algunos argumentos, lo agradecería.
Estoy buscando una forma de automatizar rsync
que parezca bastante potente y de uso gratuito.
fuente
Respuestas:
Para máxima seguridad, copie todo
La opción más segura es copiar todo , incluidos los archivos invisibles de metadatos.
Los archivos tienden a existir por una razón y a medida que el software cambia, también lo hará la existencia, el propósito y el contenido de estos archivos de metadatos. Copiar todo reducirá la carga de mantenimiento y ofrecerá la tranquilidad de que no se pierde nada.
El archivo de registro creado por
rsync
estará técnicamente involucrado por la naturaleza misma dersync
ser una herramienta de línea de comando. Considere la posibilidad de presentar una salida ordenada, filtrada de metadatos, y tal vez incluso un código de color para que el usuario pueda verificar. Puede hacer esto con una amplia gama de herramientas de scripting e idiomas. Haga más preguntas aquí en Ask Different y en StackOverflow si necesita ayuda con este enfoque.Eliminar último y copiar recursos de OS X
Con respecto a las
rsync
banderas, eche un vistazo a la pregunta La forma más rápida y segura de copiar datos masivos de un disco externo a otro . En esta pregunta, se usan y explican algunos indicadores adicionales:En esta situación,
E
se asegurará de que los tenedores de recursos y otras propiedades específicas de Mac se copien.Es posible que desee
--delete-after
evitar eliminar hasta que la copia se haya completado; tenga en cuenta que este enfoque requerirá potencialmente una unidad de destino dos veces el tamaño de la fuente.Posibles exclusiones
Una respuesta a una pregunta relacionada: ¿Cómo puedo omitir los archivos de procesamiento FCPX de una copia de seguridad de Time Machine? , proporcionó un enlace útil de archivos y carpetas de OS X que pueden excluirse de la mayoría de las copias de seguridad . Este enlace proporciona una lista práctica de patrones de archivos, carpetas y rutas que puede excluir.
Incluir archivos de puntos
Hay buenas razones para hacer una copia de seguridad de los archivos que comienzan con puntos,
.*
archivos coincidentes.Algún software mantiene las preferencias, configuraciones y otra información de valor en carpetas en la parte superior de la carpeta del usuario en carpetas prefijadas de puntos invisibles. La ejecución
ls -la ~/
revelará estas carpetas y archivos.Si algún usuario usa o tiene software que a su vez usa software de control de versiones, asegúrese de hacer una copia de seguridad de los archivos de puntos. Software como subversion y git almacenan información crítica dentro de sus carpetas de puntos. Estas carpetas ocultas pueden estar dispersas en su sistema de archivos, donde sea que se extraiga un proyecto.
Spotlight y acceso a disco
Spotlight es el servicio de búsqueda de OS X. Spotlight utiliza el
mdworker
proceso para indexar y actualizar el catálogo de búsqueda. Si le preocupa la posible corrupción del disco o las copias lentas, deshabilitarmdworker
mientras se ejecutarsync
puede ayudar. Personalmente, dejo Spotlight en ejecución mientras realizo grandesrsync
transferencias.fuente
rsync
.E
y--delete-after
son los puntos clave que hacen que esta respuesta sea ganadora.-E
, en las versiones más nuevas hay-X
algunas que veo recomendadas en algunos lugares, ¿cuál es la correcta? O los dos? Me gustaría un pseudocompleto actualizado que cubra la mayoría de las preocupaciones generales. ¿Copiar archivos de Spotlight sería más fácil y rápido que dejar que se generen? ¿Cómo puedo detener Spotlight para que no moleste mientras tanto? ¿Qué pasacaffeinate
con el proceso? O puede ser si se trata solo de una lista de respaldo que no sea indexable por Spotlight, mucho menos preocupaciones, etc. Muchas de estas preguntas han sido respondidas con seguridad.Si está utilizando la
rsync
versión 3.0.6 según Carbon Copy Cloner o 3.1.2 según Homebrew, puede seguir los argumentos de Carbon Copy Cloner:rsync -A -X -H -p --fileflags --force-change -l -N -rtx --protect-decmpfs --numeric-ids -go --delete-during --backup --backup-dir=</PATH/TO/STICK/BACKUP_when_using_delete> --protect-args <SRC>/ <DEST>
fuente
--protect-decmpfs
ya no está disponible a partir de 3.1.3, consulte github.com/Homebrew/homebrew-core/pull/23415 .Aconsejaría no podar los metadatos durante una copia de seguridad, en particular los archivos de puntos, por ejemplo
._$filename
, sin embargo, si realmente desea excluir los archivos de puntos de sursync
comando, agréguelo--exclude '.*'
.fuente
'.*'
y'/.*'
?). No creo que Finder las copie todas, puede que solo estén asociadas. En ese caso, preferiría excluir solo aquellos que son innecesarios (por ejemplo,.DS_Store
). Y sí, aquellos que pueden ser importantes, pero que no quiero tener en mi registro, puedo filtrarlos con expresiones regulares.A
disco.No estoy completamente satisfecho con las respuestas actuales, pero trataré de cubrir aquí algunas de las posibilidades que he visto en la web tratando de encontrar una buena configuración
rsync
.Y, por cierto, si uno está interesado en Time Machine como copias, hay
rsnapshot
. Y también hay Unison para sincronizaciones bidireccionales. Además, en realidad hay algunas GUI, como Backup Utility y arRsync ; no exactamente lo que estaba buscando, pero podrían hacer el trabajo por alguien.Primero, mi única intención era duplicar fotos y videos, por lo que no se necesitaba una copia exacta, por lo tanto, no es necesario preocuparse demasiado . De hecho, la mayoría de mis dudas eran si podía excluir todo (lo mismo que sucedería si, por ejemplo, descargué una foto de Internet, solo descargo un archivo .png, todo lo demás no se descarga sino que se genera automáticamente ).
Aquí hay una lista desestructurada de pensamientos que es posible que desee tener en cuenta
Si desea asegurarse de que su computadora portátil no se vaya a dormir, es posible que desee realizar
caffeinate
el procesocaffeinate -s rsync -av ...
. Tomado de aquí .Si usted está haciendo copias locales, como en mi caso, o incluso si la conexión a Internet no es demasiado lento, se debe no utiliza
-z
la opción (de compresión), y el uso-W
(archivo completo de transferencia, en lugar de transferencias delta, lo que es un defecto cuando local) y probablemente lo use--inplace
para hacer transferencias rápidas. Tomado de aquí .Puede usarlo
--delete-after
para que cualquier archivo se transfiera primero y luego se mueva al destino (y elimine el original) y sea más seguro que eliminarlo antes de la transferencia o durante la transferencia.Puede detener la transferencia presionando ctrl + C, y se detendrá limpiamente. Tomado de aquí . Este fue uno de mis miedos con SuperDuper !, si necesita detener una transferencia, recibirá el mensaje "Dejará el disco duro en un estado desconocido ...".
En versiones recientes hay
--info=progress2
que agrega aún más detalles-v
.Hay
-P
(que es igual--partial
y--progress
) que dejará allí los archivos transferidos a mitad de camino para que pueda continuar cuando reinicie el proceso (si por alguna razón no puede finalizar la sincronización de inmediato).Uno podría estar interesado en detener Spotlight o TimeMachine antes de hacer la copia y volver a habilitarlos después de la transferencia. E incluso deshabilite Spotlight para el disco externo.
Otras opciones que se utilizan en todas aquellas referencias incluyen
-x
(o--one-file-system
),-E
(--executability
),-H
(--hard-links
),-X
(--xattrs
),-A
(--acls
), y--sparse
,--hfs-compression
,--protect-decmpfs
. Es posible que desee mirarlos.Para mí, se ve un comando básico (podría usar más opciones, pero esto es suficiente para un ejemplo):
Ahora, en mi caso, podría incluir
{*.jpg,*.png,*.mp4,*.txt,*.pdf,…}
y nadie diría "también necesita archivos del sistema", pero como no quiero buscar para obtener todo el tipo de archivo posible del que tengo archivos, prefiero excluirlo. Y hay cosas que no solo pueden ser, sino que parecen convenientes de excluir.Encontré algunos enlaces, toma lo que quieras:
https://bombich.com/kb/ccc4/some-files-and-folders-are-automatically-excluded-from-backup-task
https://gist.github.com/tvwerkhoven/4541989
https://github.com/necolas/dotfiles
https://gist.github.com/shkm/5531679
http://www.hackurmac.com/2014/08/backing-up-and-restoring-your-hackintosh.html
https://github.com/jedda/Counterpart
http://alanwsmith.com/rsync-exclude-list-for-mac-osx
Y a partir de ahí, probablemente podría obtener lo que es seguro o sensato para ignorar. Aquí está la lista completa (acabo de eliminar duplicados)
fuente
He usado rsync para copias de seguridad en varios trabajos, y lo uso en casa.
Lo recomiendo mucho, pero con algunas modificaciones. Como herramienta de respaldo, es genial, pero como herramienta de archivo se cae un poco plana. Sí, copia todo, pero no obtienes versiones de todo, siempre obtienes solo las últimas versiones.
Utilicé esta guía http://www.mikerubel.org/computers/rsync_snapshots/ como punto de partida. Lee toda la página. Hace un gran trabajo al explicar las opciones y describe cómo puede implementar copias de seguridad incrementales. Y sorprendentemente, el artículo tiene más de 10 años pero todavía es aplicable hoy. Tengo que amar a Unix.
fuente
rsync
. En cualquier caso, buen enlace, que cubre muchorsync
pero no es a partir de hoy una herramienta para hacer exactamente eso:rsnapshot
.