5 votos

¿Cómo detener la copia de seguridad de Time Machine de los archivos de registro dentro de los contenedores de aplicaciones?

Time Machine no hace copias de seguridad de los archivos de registro en ~/Library/Logs

Pero hace archivos de registro de copia de seguridad dentro de los contenedores de aplicaciones. Por ejemplo, los archivos de registro en la carpeta ~/Library/Containers/com.apple.mail/Data/Library/Logs/Mail .

Mis registros de Mail y OneDrive añaden actualmente unos 2 GB por copia de seguridad.

Podría excluir manualmente cada uno de ~/Library/Containers/*/Data/Library/Logs pero son muchas exclusiones y sería una lista que habría que añadir cada vez que instalara una nueva aplicación.

El ~/Library/Containers/* Las carpetas se introdujeron para soportar las aplicaciones de sandboxing, pero Time Machine parece no haber seguido el ritmo de estos cambios.

¿Hay alguna forma mejor de decirle a Time Machine que no haga una copia de seguridad del /Log ¿carpetas dentro de los contenedores?

Estoy usando OS X Yosemite 10.10.1.

2voto

Guy Puntos 246

Tenía una necesidad similar y utilizando una combinación de esta respuesta y esta respuesta Se me ocurrió la siguiente solución.

Crear una lista de propiedades (por ejemplo ~/Library/LaunchAgents/excludeLogFiles.plist ) que se cargará con launchctl load ~/Library/LaunchAgents/excludeLogFiles.plist :

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
  <key>Label</key>
  <string>excludeLogFiles</string>
  <key>ProgramArguments</key>
  <array>
    <string>/bin/zsh</string>
    <string>-c</string>
    <string>tmutil addexclusion /Users/user/Library/Containers/**/Data/Library/Logs</string>
  </array>
  <key>WatchPaths</key>
  <array>
    <string>/Users/user/Library/Containers</string>
  </array>
</dict>
</plist>

En lugar de utilizar EnableGlobbing que no se admite desde OS X 10.10 ( ref ), la ruta es expandida por el programa que llama a /bin/zsh <args> .

Un par de cosas que encontré mientras experimentaba:

  1. El ** glob trabaja con zsh pero no bash
  2. Utilizando ~ debería funcionar en la ruta para ProgramArguments pero no sé si el mismo truco se puede utilizar para WatchPath . Podría ser necesario codificar la ruta del usuario.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X