Contatti in macOS
L’app Contatti del Mac è incredibilmente utile per archiviare informazioni di contatto personali e di lavoro. Ecco come eseguire il backup del database dei contatti.
L’app Contatti di macOS si trova nella cartella/Applicazioni nella radice del disco di avvio. Quando aggiungi nuovi contatti, ogni pagina o vCard viene memorizzata in un database locale su disco in ~/Library/Application Support/AddressBook (l’app Contatti era chiamata”Rubrica”nelle versioni precedenti di macOS).
Ci sono diversi file e cartelle nella cartella Rubrica Indirizzi ma la cartella principale Il database dei contatti sarà denominato”AddressBook-vXX.abcddb”-dove”XX”è un numero di versione-nel caso di macOS Ventura, di solito”22″. Il tipo di file.abcddb è un tipo opaco e Apple non ne pubblica le specifiche.
Tuttavia, allo stesso livello c’è una cartella denominata”Metadati”, e in questa cartella ci sono i singoli Contatti, uno per ogni voce nell’app Contatti. Attualmente, questi file hanno un’estensione”.abcdp”e puoi fare doppio clic su uno di essi per aprire la voce corrispondente nell’app Contatti.
Se non stai sincronizzando i tuoi contatti su iCloud, la cartella Rubrica contiene l’intero database dei contatti. Le impostazioni per l’app Contatti sono memorizzate in ~/Library/Preferences/com.apple.AddressBook.plist.
Un modo semplice per eseguire il backup del database dei contatti consiste semplicemente nel copiare l’intera cartella Rubrica indirizzi tenendo premuto il tasto Opzione e facendo clic e trascinandola in un’altra posizione di archiviazione nel Finder. In qualsiasi nuova installazione di macOS, puoi semplicemente rilasciare la cartella Rubrica indirizzi nella stessa posizione nella cartella Libreria dell’utente per ripristinare il database Contatti nella nuova installazione.
Se desideri copiare anche le impostazioni dell’app Contatti in una nuova installazione macOS, copia semplicemente il file com.apple.AddressBook.plist sopra menzionato nella stessa posizione sul nuovo disco di avvio. Ti verrà chiesto di sostituire entrambi gli elementi ogni volta, a cui dovresti fare clic su”Sostituisci”nel Finder quando richiesto.
Dopo aver copiato tutto nella nuova installazione, riavvia il Mac. Quindi apri l’app Contatti. Dovresti vedere tutte le voci dei tuoi contatti nell’app. In caso contrario, c’è un modo per ripristinare i contatti di cui è stato eseguito il backup, che vedremo di seguito.
Ma prima, c’è un altro modo per eseguire il backup dell’intero database dei contatti dall’app Contatti. Per farlo, assicurati innanzitutto di aver selezionato “Tutti i contatti” nella parte superiore della barra laterale sul lato sinistro della finestra principale di Contatti:
Assicurati di selezionare”Tutti i contatti”nella barra laterale.
Successivamente, scegli “File->Esporta->Archivio contatti” dal menu principale. Apparirà un pannello di salvataggio standard. Seleziona un nome file e una posizione e fai clic sul pulsante “Salva”.
I file di esportazione dell’archivio dei contatti vengono salvati con un’estensione di file.abbu (per il backup della rubrica) e hanno un nome predefinito di”Contatti-“seguito dalla data corrente. Ad esempio:
Contatti-05-16-2023.abbu
Il file di esportazione.abbu contiene un intero archivio di tutti i contatti nell’app Contatti, supponendo che tu abbia fatto clic sull’icona “Tutti i contatti” nella parte superiore della barra laterale prima dell’esportazione.
Fai attenzione a un bug intermittente di lunga data nella funzione di esportazione dei contatti che Apple deve ancora risolvere: se esporti il file.abbu sul desktop del tuo Mac, in alcune occasioni verrà salvato un archivio incompleto e alcuni contatti individuali potrebbero andare persi.
Le condizioni in cui si verifica questo errore non sono ancora del tutto comprese e accade solo a volte.
Per sicurezza, semplicemente non salvare mai gli archivi esportati sul desktop del Mac. Mai.
Salvalo sempre in un’altra posizione su un’unità. Speriamo che Apple risolva presto questo problema in Contatti.
Puoi capire se questo bug si è verificato perché se salvi l’intero database dei contatti in un file.abbu sul desktop e poi lo salvi di nuovo in un’altra posizione sul disco, noterai una differenza significativa nel dimensioni dei file tra i due file nelle finestre Ottieni informazioni del Finder.
Questo indica che alcuni contatti sono stati persi nel file di dimensioni inferiori.
Dopo aver esportato il file.abbu, creane una seconda copia in un luogo sicuro, preferibilmente su un supporto solitamente non connesso al tuo Mac.
Puoi anche eseguire il backup di singoli contatti nell’app Contatti o di gruppi di contatti nella barra laterale. Per fare ciò, fai semplicemente clic su una voce o un gruppo di contatti nell’elenco Contatti o nella barra laterale e fai clic tenendo premuto il tasto Ctrl o fai clic con il pulsante destro del mouse.
Viene visualizzato un menu a comparsa contestuale con un elemento “Esporta vCard” al suo interno:
Seleziona”Esporta vCard…”.
Seleziona l’elemento e salva la vCard utilizzando il pannello di salvataggio standard. Le vCard sono un formato di contatti aperto che fa parte dello standard CardDAV.
La maggior parte dei sistemi operativi e delle app moderni supporta le vCard. In macOS, le vCard vengono salvate con un’estensione file di.vcf.
In “Contatti->Impostazioni” puoi anche scegliere quale versione dello standard vCard utilizzare nella scheda “vCard”: attualmente le versioni 2.1 e 3.0 sono supportati.
Puoi esportare e importare vCard a piacimento per aggiungere o condividere contatti dall’app Contatti. C’è anche una voce di menu “File” per esportare una vCard o un gruppo in un file PDF.
Una vCard, a sinistra, e un archivio Contatti esportato file.
Per ripristinare l’intero backup dei contatti esportati, seleziona “File->Importa” e seleziona qualsiasi file.abbu dal pannello aperto standard che appare. Ti verrà chiesto se desideri sostituire i contatti esistenti con i contenuti del file aperto.
Fai clic su “Sostituisci tutto” per sostituire il database dei contatti esistente con quello contenuto nel file.
Importazione di un file.abbu.
Utilizza questa funzione con cautela in quanto sovrascriverà completamente tutti i contatti esistenti che hai attualmente archiviato nell’app Contatti. Ricevi solo un avvertimento. Non c’è Annulla.
Puoi ripristinare o importare qualsiasi vCard o gruppo vCard semplicemente facendo doppio clic su qualsiasi file.vcf nel Finder. Se la vCard esiste già in Contatti, passerà a quella scheda. In caso contrario, aggiungerà la carta o il gruppo di carte e poi passerà alla prima.
Se fai doppio clic su più vCard nel Finder, Contatti ti chiederà se desideri davvero importare così tante carte. Fai clic sul pulsante “Importa” per importarli tutti.
Puoi anche fare clic sul pulsante “Rivedi duplicati” per rivedere eventuali carte duplicate prima di importarle.
Per salvare singoli contatti su iCloud, vai prima su “Contatti->Impostazioni” e nella scheda “Generale”, seleziona “iCloud” come “Account predefinito”:
Seleziona”iCloud”come account predefinito in Impostazioni.
Quando lo fai, Contatti aggiunge un’intestazione “iCloud” nella barra laterale della finestra principale. Tutti i contatti che aggiungi sotto l’intestazione “iCloud” verranno automaticamente sincronizzati con iCloud.
Le intestazioni nella barra laterale della finestra principale dell’app Contatti funzionano allo stesso modo dell’app Note di Apple: c’è una sezione per gli elementi locali sul tuo Mac e un’altra per gli elementi iCloud. Dove finisce un oggetto si basa semplicemente su quale intestazione lo memorizzi.
Puoi anche spostare voci o gruppi di Contatti semplicemente trascinandoli da una sezione all’altra nella barra laterale.
Se torni alla finestra “Contatti->Impostazioni”, puoi disattivare nuovamente la sezione dell’intestazione della barra laterale di iCloud semplicemente scegliendo “Sul mio Mac” per l’“Account predefinito”. Se lo fai, non elimina alcun contatto esistente sotto l’intestazione”iCloud”nella barra laterale, semplicemente li nasconde.
Per salvare i contatti su iCloud, devi abilitarlo nell’app Impostazioni di macOS. Per farlo, seleziona “Finder->Impostazioni” nel menu principale, fai clic sul tuo ID Apple nella parte superiore della finestra, accedi se necessario, quindi seleziona “iCloud” sulla destra. Nel riquadro successivo, fai clic sul pulsante “Mostra tutto” sul lato destro della finestra per mostrare tutte le app che supportano iCloud:
Fai clic su”Mostra tutto”.
Scorri verso il basso fino a “Contatti” e ruota il dispositivo di scorrimento SU. Se in seguito desideri accedere ai contatti che hai salvato nell’app da iCloud sul Web, devi anche scorrere fino alla fine del pannello Impostazioni iCloud e abilitare “Accedi ai dati di iCloud sul Web.
Apple fornisce questa protezione per proteggere i tuoi dati iCloud nel caso in cui un malintenzionato ottenga l’accesso al tuo sito web Account iCloud.
Poiché ora sai dove si trova la cartella Rubrica indirizzi nella cartella ~/Library/Application Support, puoi utilizzare uno script Terminal bash per eseguire automaticamente il backup.
A lo script di backup completo va oltre lo scopo di questo articolo, quindi delineeremo solo i comandi della shell bash che potresti inserire in uno script per copiare l’intera Rubrica da ~/Library/Application Support in un’altra posizione sul disco.
Tieni presente che gli script bash possono essere piuttosto potenti e possono distruggere i tuoi dati in un istante se vengono introdotti errori in uno script. Testa sempre prima i tuoi script su una macchina che non contenga file o dati importanti. Procedete a vostro rischio.
Per prima cosa, crea un nuovo file.sh vuoto in un editor di testo e salvalo su disco. Successivamente, aggiungi alcune variabili all’inizio dello script che indicano dove si trovano le cartelle Libreria, Supporto applicazioni e Rubrica dell’utente. Aggiungi anche variabili per contenere il nome del disco di avvio, la cartella Utenti e il nome dell’utente attualmente connesso:
VOL_NAME=”/Volumes/Macintosh HD”
LIBRARY_DIR_NAME=”Library”
APP_SUPPORT_DIR_NAME=”Application Support”
ADDRESS_BOOK_DIR_NAME=”AddressBook”
USERS_DIR_NAME=”Utenti”
USER_DIR_NAME=”${USER}”
LIBRARY_APP_SUPPORT_DIR_PATH=”${VOL_NAME}/${USERS_DIR_NAME}/${USER_DIR_NAME}/${LIBRARY_DIR_NAME}/${APP_SUPPORT_DIR_NAME}”
LIBRARY_ADDRESS_BOOK_DIR_PATH=”${LIBRARY_APP_SUPPORT_DIR_PATH}/${ADDRESS_BOOK_DIR_NAME}”
La variabile LIBRARY_APP_SUPPORT_DIR_PATH ora contiene il percorso completo finale a ~/Library/Application Support/
La variabile LIBRARY_ADDRESS_BOOK_DIR_PATH contiene il percorso completo finale a la cartella Rubrica.
Userai la variabile LIBRARY_ADDRESS_BOOK_DIR_PATH in seguito per accedere alla posizione della cartella Rubrica e copiare l’intera cosa in un’altra posizione di destinazione sul disco.
Per impostare nomi e percorsi in cui copiare la cartella Rubrica, aggiungi alcune altre variabili al tuo script proprio sotto quelle sopra elencate:
DEST_VOL_NAME=”${VOL_NAME}”# Backup dest vol name
DEST_DIR_PATH=”${VOL_NAME}/${USERS_DIR_NAME}/${USER_DIR_NAME}”# Backup dest dir path
In questo esempio, useremo anche il disco di avvio come volume di destinazione, ma è possibile utilizzare qualsiasi nome di volume montato, purché sia indicato da”/Volumes/”in DEST_VOL_NAME e si imposti il percorso in cui si desidera copiare la cartella Rubrica su quel volume in DEST_DIR_PATH.
In questo caso, utilizzeremo semplicemente la cartella home dell’utente come cartella di destinazione in DEST_DIR_PATH.
Successivamente, imposta le variabili per definire i percorsi dei file per alcuni comandi binari Unix locali, vale a dire echo, remove e idem. idem è un comando macOS che copia perfettamente file e cartelle, incluse tutte le loro autorizzazioni utente e di gruppo Unix e tutte le impostazioni dell’elenco di controllo degli accessi, nonché qualsiasi proprietà e autorizzazione specifiche del Mac:
ECHO=”/bin/echo”
DITTO=”/usr/bin/ditto”
REMOVE=”/bin/rm”
Una volta impostate tutte le variabili , è abbastanza facile copiare l’intera cartella Rubrica nella cartella di destinazione.
Per prima cosa, cambia la directory corrente nella cartella di destinazione usando il comando cd di Unix, quindi controlla se la cartella Rubrica esiste già lì. Se lo fa, rimuovilo usando il comando rm, altrimenti stampa un messaggio sul Terminale:
cd $”{DEST_DIR_PATH}”
if [-d”${ADDRESS_BOOK_DIR_NAME}”] ; poi
${REMOVE}-R”${ADDRESS_BOOK_DIR_NAME}”
${ECHO}”${ADDRESS_BOOK_DIR_NAME} non presente.”
Il flag-d indica che vuoi cercare una directory. Fai molta attenzione quando usi il comando Unix rm, specialmente con il flag-R che significa”ricorsivo”.
Se il tuo cd fallisce o se finisci nella directory sbagliata, il comando rm-R eliminerà alla cieca tutto nella directory di lavoro attuale, indipendentemente da quale directory sia.
Ciò include interi volumi, la cartella di sistema, il desktop, la cartella utente, la cartella home, il disco di avvio o qualsiasi altro volume o directory. Peggio ancora, non riceverai alcun avviso: i tuoi file spariranno all’istante senza possibilità di recuperarli.
Per questo motivo, è sempre meglio testare gli script su un volume di avvio secondario nel caso qualcosa vada storto. Potresti anche voler disconnettere eventuali volumi critici dal tuo Mac prima di eseguire lo script.
Questo è il motivo per cui vuoi sempre verificare la presenza della directory che stai eliminando prima di eseguire il comando rm. Uno script davvero buono verificherebbe anche la presenza di qualsiasi directory in cui lo script tenta di eseguire il cd, per essere sicuro che esista.
Se una directory in cui provi ad accedere da uno script non esiste, la directory di lavoro attuale sarà l’ultima utilizzata. Non riceverai alcun avviso.
Se quindi esegui il comando rm-R alla cieca, tutto nella directory di lavoro attuale verrà cancellato all’istante. Questo è uno dei trucchi che i neofiti degli script Unix imparano nel modo più duro.
Successivamente, cambia la directory corrente nella cartella ~/Library/Application Support usando di nuovo il comando cd di Unix:
cd $”{LIBRARY_APP_SUPPORT_DIR_PATH}”
Controlla se la cartella AddressBook esiste nella cartella Application Support, e in tal caso copiala nella destinazione, in caso contrario, stampa un errore sul Terminale:
if [-d”${ADDRESS_BOOK_DIR_NAME}”]; quindi
/usr/bin/sudo ${DITTO}-v-V — rsrc”${ADDRESS_BOOK_DIR_NAME}””${DEST_DIR_PATH}”
${ECHO}”${ ADDRESS_BOOK_DIR_NAME} non presente.”
Il comando sudo è l’abbreviazione di”superuser do”. Dovrai inserire una password amministratore per un utente sul tuo Mac per procedere.
In Unix, un superutente è come l’utente root, entrambi hanno permessi quasi illimitati per fare qualsiasi cosa sulla macchina che desiderano.
Il flag — rsrc indica al comando ditto di copiare anche qualsiasi resource fork vecchio stile di Mac OS 9 che può essere trovato in qualsiasi file copiato. In questo caso probabilmente non hai bisogno di — rsrc, ma non ti farà male.
Salva il file dello script. Per eseguire lo script, apri l’app Terminale di macOS, trascina il file dello script nella finestra Terminale e premi Invio.
Lo script inizierà a essere eseguito e trasmetterà l’avanzamento al Terminale man mano che procede.
Se tutto è andato secondo i piani, ora hai una copia esatta della cartella AddressBook all’interno della cartella home del tuo attuale utente. Come accennato, puoi copiare la cartella Rubrica Indirizzi in qualsiasi altra posizione modificando il percorso memorizzato in $”{DEST_DIR_PATH}.
Gli script di backup automatizzati possono diventare piuttosto complessi e puoi automatizzare praticamente qualsiasi operazione sui file nel bash Terminal shell. Avremmo potuto semplificare questo script combinando alcune delle variabili e nidificando le istruzioni if/else, ma l’esempio dovrebbe essere abbastanza facile da capire.
Potremmo anche esportare l’archivio Contatti da l’app utilizzando AppleScript, quindi eseguire il backup del file.abbu esportato anche dallo script bash, un aspetto che potremmo trattare in un articolo futuro.
In un articolo futuro, esamineremo anche i modi per eseguire il backup Contatti dal tuo iPhone o iPad.