Haga una copia de seguridad solo de los archivos reales en la estructura de directorios


0

Quiero hacer una copia de seguridad de mis juegos guardados:

+ /Library/Containers/com.doublefine.dfaosx/***
+ /Library/Containers/com.doublefine.dottosx/***

Inicialmente quería hacer esto como parte de una rsynccopia de seguridad más grande . Sin embargo, debido a la locura de sandbox de macOS, las carpetas incluyen docenas de enlaces simbólicos de los que no quiero hacer una copia de seguridad, y excluirlos ha resultado difícil rsync(ver pregunta relacionada ).

¿Cómo puedo hacer una copia de seguridad solo de los valiosos archivos del juego guardado y excluir los enlaces simbólicos, sin especificar explícitamente muchas subcarpetas? Quiero especificar " Hacer una copia de seguridad de todos los archivos reales en esta carpeta raíz, excluyendo enlaces simbólicos y subcarpetas que finalmente no contienen un archivo real".

También lo intenté zip, pero ni siquiera parece tener una opción para excluir enlaces simbólicos. Puede tarhacerlo? Sería mejor si rsyncpudiera hacerlo, pero si no, cualquier herramienta estándar de Unix sería aceptable.

Los archivos que quiero respaldar son los siguientes. Por supuesto, podría especificarlos explícitamente, pero quiero aprender una forma de hacer una copia de seguridad de archivos reales e ignorar los enlaces simbólicos sin ser específico al respecto.

Library/Containers/com.doublefine.dfaosx/Container.plist
Library/Containers/com.doublefine.dfaosx/Data/Documents/BrokenAge/saves/*
Library/Containers/com.doublefine.dfaosx/Data/Library/Saved Application State/com.doublefine.dfaosx.savedState/*

Los archivos en savesse llaman auto.sav, auto.cav, slot_1.sav, slot_2.savy algo más.

Ejemplos de enlaces simbólicos son (hay alrededor de 60 de estos, la mayoría de los cuales son irrelevantes para el juego, simplemente se crean por defecto como un medio para llegar a algunos Libraryarchivos):

Library/Containers/com.doublefine.dfaosx/Data/Library/ColorPickers

¿Estos "archivos de juego" tienen el mismo nombre?
fd0

1
¿Están los objetivos de los enlaces simbólicos dentro de las carpetas que desea respaldar o fuera? En ambos casos, ¿cómo restauraría desde la copia de seguridad si no incluye los enlaces simbólicos? Además, ¿conoce los nombres de los archivos que realmente desea respaldar (y estos nombres permanecen estables)?
nohillside

@nohillside: el juego no utiliza los enlaces simbólicos. Los nombres están numerados, pero se mantienen estables.
forthrin

¿Estás seguro de que Library/Containers/com.doublefine.dfaosx/Data/Library/Saved Application State/com.doublefine.dfaosx.savedState/no contiene un enlace simbólico intermedio?
nohillside

@nohillside: directorios reales hasta el final.
forthrin

Respuestas:


1

Puede pasar una lista de nombres de archivo para hacer una copia de seguridad tarejecutando findprimero:

cd ~/Library/Containers/
tar -T <(find com.doublefine.dfaosx -type f -print) -cvzf ~/dfaosx.tar.gz
tar -T <(find com.doublefine.dottosx -type f -print) -cvzf ~/dfaosx.tar.gz

Si lo prefiere rsync, admite una --files-fromopción que más o menos hace lo mismo que -Tpara tar.


¡No está mal! Una alternativa aceptable si no puedo hacer que funcione con la rsynccopia de seguridad principal .
forthrin
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.