Come impedire a Time Machine di eseguire il backup dei file di registro all'interno dei contenitori delle applicazioni?

5

Time Machine non esegue il backup dei file di registro in ~/Library/Logs

Ma fa registra i file nei contenitori delle applicazioni. Ad esempio, registra i file nella cartella ~/Library/Containers/com.apple.mail/Data/Library/Logs/Mail .

I log di My Mail e OneDrive stanno attualmente aggiungendo circa 2 GB per backup.

Potrei escludere manualmente ciascuno di ~/Library/Containers/*/Data/Library/Logs , ma sono molte le esclusioni e sarebbe una lista che deve essere aggiunta ogni volta che installo una nuova app.

Le cartelle ~/Library/Containers/* sono state introdotte per supportare le applicazioni di sandboxing, ma Time Machine sembra non aver tenuto il passo con queste modifiche.

C'è un modo migliore per dire a Time Machine di non eseguire il backup delle cartelle /Log all'interno di Containers?

Sto usando OS X Yosemite 10.10.1.

    
posta Gilby 24.01.2015 - 12:20
fonte

1 risposta

3

Ho avuto un'esigenza simile e ho utilizzato una combinazione di questa risposta e questa risposta Ho trovato la seguente soluzione.

Crea un elenco di proprietà (ad esempio ~/Library/LaunchAgents/excludeLogFiles.plist ) che verrà caricato 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>

Invece di usare EnableGlobbing , che non è stato supportato da OS X 10.10 ( ref ), il percorso viene espanso dal programma che chiama /bin/zsh <args> .

Un paio di cose che ho trovato durante gli esperimenti:

  1. Il ** glob funziona con zsh ma non bash
  2. L'utilizzo di ~ dovrebbe funzionare nel percorso per ProgramArguments ma non so se lo stesso trucco può essere utilizzato per WatchPath . Potrebbe essere necessario l'hard-coding del percorso dell'utente.
risposta data 10.02.2017 - 21:14
fonte

Leggi altre domande sui tag