Nozioni di base
Innanzitutto, altamente suggerisco di eseguire il backup dell'intero Mac con Time Machine. (Comprenderà tutte le tue e-mail che non sono sul server.) Dopo il primo backup salva solo ciò che è cambiato, quindi se non cambi nulla di fuori della posta, non sarà necessario dedicare il tempo al re-backing tutto.
Detto questo, puoi eseguire il backup delle e-mail. Non so come farlo con Time Machine (anche se probabilmente è possibile), ma è relativamente facile da fare con uno strumento chiamato rsync
. Le tue email sono archiviate qui (supponendo che tu stia utilizzando Mail.app incorporato):
~/Library/Mail
Per eseguirne il backup, puoi semplicemente copiare (non spostare!) questa cartella su un'unità esterna. A differenza di una copia del Finder (per quanto ne so), rsync
è abbastanza intelligente da copiare solo le modifiche la volta successiva che lo si esegue. Per eseguire un backup, esegui questo comando nel Terminale:
rsync -rlptgDEHP ~/Library/Mail /Volumes/"Some External Drive"/"Mail Backups"
Questo copierà la cartella in una cartella denominata "Backup di posta" sul disco esterno. (Le virgolette sono obbligatorie se ci sono spazi nel nome della cartella / unità.)
Automazione di questo con launchd
C'è un programma chiamato launchd
che, oltre a eseguire praticamente l'intero sistema (è l'equivalente Mac di init ), può eseguire altri programmi in determinati orari. Per dirgli cosa eseguire quando, si utilizza un file plist (abbreviazione di "elenco proprietà").
Quindi come si fa? Dovrai metterlo in un file di testo semplice da qualche parte, come ~/bin/backup-emails
:
#!/bin/zsh
# lines starting with '#' are a comment and have no effect
# (except for the #! line above); you can leave them out
# this is the rsync command from the section above
rsync -rlptgDEHP ~/Library/Mail /Volumes/"Some External Drive"/"Mail Backups"
Quindi apri un terminale, digita chmod +x
e uno spazio e trascina nel file appena creato. Premi Invio. Questo renderà il file "eseguibile" - il sistema sarà in grado di eseguirlo come un programma.
Puoi eseguire il file appena creato invece di digitare il comando rsync
quando desideri eseguire il backup manualmente.
Successivamente, avvia TextEdit (o un altro editor di testo semplice a tua scelta) e incolla quanto segue:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>com.yourname.backup-emails</string>
<key>Program</key>
<string>/bin/zsh</string>
<key>ProgramArguments</key>
<array>
<string>-f</string>
<string>-c</string>
<!-- wherever you put the script you made before -->
<string>~/bin/backup-emails</string>
</array>
<key>StartCalendarInterval</key>
<array>
<dict>
<!-- run every week at 7am -->
<key>Hour</key>
<integer>7</integer>
<key>Weekday</key>
<integer>0</integer>
</dict>
</array>
<!-- replace your username appropriately -->
<key>StandardOutPath</key>
<string>/Users/username/tmp/backup-emails-stdout.log</string>
<key>StandardErrorPath</key>
<string>/Users/username/tmp/backup-emails-stderr.log</string>
<key>Debug</key>
<true />
</dict>
</plist>
Tutto tra <!--
e -->
è un commento e può essere omesso. (Ciò include ovviamente gli stessi marcatori di commenti.) Sostituisci yourname
con il tuo nome (se lo desideri) e username
con il tuo nome utente (il nome della tua cartella Inizio, questo è obbligatorio).
(Puoi eseguire man launchd.plist
in un terminale per saperne di più su cosa puoi fare con questi file plist).
Salva questo file come ~/Library/LaunchAgents/com.yourname.backup-emails.plist
(sostituendo com.yourname.backup-emails
con quello che hai usato nel tasto Etichetta sopra).
Questo passaggio non è strettamente richiesto, ma lo caricherà senza dover uscire e rientrare:
launchctl load ~/Library/LaunchAgents/com.yourname.backup-emails.plist
Disinstallazione dell'agente di avvio
Basta trascinare il file ~/Library/LaunchAgents/com.yourname.backup-emails
creato in precedenza. (Per ottenerlo, premi ⇧⌘G in Finder e digita / incolla in ~/Library/LaunchAgents
.)