Come tenere sincronizzate due cartelle su Mac

Il Finder non sa tenere sincronizzate due cartelle. Puoi copiare una cartella una volta su un disco esterno o su un NAS, ma niente aggiorna quella copia quando i file cambiano, e niente ne toglie ciò che hai eliminato. Per tenere allineate due cartelle serve il comando rsync nel Terminale oppure un'app con uno strumento di sincronizzazione. Prima di scegliere, decidi che tipo di sincronizzazione vuoi, perché uno dei due elimina file.
Copia o specchio: la prima scelta
Una sincronizzazione a senso unico va sempre da un'origine (la cartella in cui lavori) a una destinazione (il disco, il NAS o il server che conserva la copia). Ci sono due modi:
- Copia: i file nuovi o modificati vanno nella destinazione. Lì non viene mai eliminato nulla. Se elimini un file nell'origine, la vecchia copia resta nella destinazione. È la scelta sicura per un archivio.
- Specchio: la destinazione diventa la copia esatta dell'origine. Ciò che elimini nell'origine viene eliminato anche nella destinazione. La copia resta in ordine, ma un errore nell'origine (o un'origine che all'improvviso è vuota) si propaga alla destinazione.
Uno specchio non è un backup. Se elimini o danneggi un file nell'origine, il passaggio successivo riporta il danno. Per recuperare la versione di ieri di un file servono backup datati, non solo una sincronizzazione (ne parliamo alla fine).
Il metodo integrato: rsync nel Terminale
macOS include rsync, uno strumento a riga di comando che copia solo ciò che è cambiato. Una sincronizzazione in modalità copia da una cartella di progetti a una condivisione di un NAS montata si presenta così:
rsync -av ~/Progetti/ /Volumes/NAS/Progetti/
Per farne uno specchio, aggiungi --delete. Eseguilo sempre prima con --dry-run (o -n), che elenca ciò che succederebbe senza toccare nulla:
rsync -av --delete --dry-run ~/Progetti/ /Volumes/NAS/Progetti/
Funziona, ma ha i suoi trabocchetti:
- La barra finale conta.
~/Progetti/copia il contenuto della cartella;~/Progetti(senza barra) crea una cartellaProgettidentro la destinazione. Uno sbaglio mette i file nel posto sbagliato e, con--delete, può rimuovere file che volevi tenere. - Nessuna rete di sicurezza.
--deleteelimina definitivamente, senza passare dal Cestino e senza chiedere. Se l'origine è vuota perché un disco non è stato montato o il percorso è sbagliato, lo specchio svuota la destinazione. - La pianificazione tocca a te. Eseguirlo ogni ora o a ogni modifica significa scrivere un job di launchd o una riga di cron, e controllarne i log da solo.
Se il Terminale non ti spaventa e provi ogni volta con --dry-run, rsync fa il suo lavoro. Se vuoi lo stesso risultato con impostazioni visibili e controlli prima di qualsiasi eliminazione, usa uno strumento di sincronizzazione.
Sincronizzare due cartelle con Folia Files
Folia Files ha uno strumento di sincronizzazione integrato. Sincronizza a senso unico due cartelle: una cartella del Mac, un disco esterno, una condivisione di NAS o un server montati, oppure un cloud tramite rclone.

Creare una sincronizzazione
- Scegli Strumenti › Sincronizzazione… (⇧⌘Y). Lo strumento si apre in una scheda.
- Fai clic su Nuova sincronizzazione, poi imposta Origine e Destinazione con Scegli…, oppure trascina una cartella su ciascun riquadro.
- Come tipo di destinazione, scegli Cartella (disco, volume, punto di montaggio) per un disco o una condivisione montata, oppure Cloud tramite rclone per inviare i file a un cloud senza montarlo. Questa opzione richiede rclone, da installare a parte (per esempio con Homebrew).
- Scegli la Modalità: Copia (aggiunte e modifiche) o Specchio (destinazione identica). Poi decidi cosa succede agli elementi rimossi o sostituiti nella destinazione: Sposta nel Cestino o Elimina definitivamente.
- Scegli il Confronto:
- Dimensione e data (veloce): un file viene ricopiato se dimensione o data di modifica sono diverse, come fa rsync di default.
- Checksum del contenuto (esatto): i file della stessa dimensione vengono confrontati tramite la loro impronta SHA-256, quindi un file identico non viene mai ricopiato solo perché è cambiata la data. Le impronte vengono memorizzate e i passaggi successivi rileggono solo ciò che si è mosso.
- Scegli Quando: Manualmente, A intervalli regolari, Ogni giorno all'ora che preferisci, oppure A ogni modifica dell'origine. Aggiungi delle Esclusioni se serve, separate da virgole (
node_modules, *.log, .git). - Fai clic su Simula per vedere cosa farebbe la sincronizzazione: file nuovi, aggiornati, eliminati e conflitti, con la quantità di dati da trasferire. Poi fai clic su Sincronizza ora.
Le sincronizzazioni pianificate o avviate da una modifica partono solo dopo un primo passaggio lanciato da te con Sincronizza ora. Funzionano finché Folia Files è aperto; l'interruttore Apri Folia Files al login, nello strumento, le fa ripartire dopo un riavvio. Ogni sincronizzazione salvata compare nell'elenco a sinistra con il suo orario e il momento dell'ultimo passaggio; un segno di spunta verde indica che è andato a buon fine.
Cosa succede prima di ogni eliminazione
Il punto delicato di uno specchio è l'eliminazione, quindi Folia Files controlla prima di rimuovere qualsiasi cosa:
- Mai uno specchio da un'origine vuota o assente. Se l'origine non ha file mentre la destinazione sì, o se il disco dell'origine non è montato, la sincronizzazione viene bloccata. Rifiuta anche origine e destinazione che si sovrappongono, e uno specchio verso la radice di un cloud.
- Confermi il numero reale. Uno specchio avviato a mano che eliminerebbe dei file chiede prima, con il numero di file e dove finiscono (Cestino o eliminazione definitiva), e il pulsante dice Sincronizza ed elimina. La prima volta che uno specchio elimina in una destinazione, la finestra di dialogo lo precisa: tutto ciò che non è nell'origine viene rimosso, anche ciò che la sincronizzazione non ci ha messo.
- I passaggi pianificati non eliminano da soli. Uno specchio automatico viene saltato, e ricevi un avviso, se eliminerebbe in una destinazione dove non hai mai confermato un'eliminazione, o se rimuoverebbe più della metà dei file della destinazione. Avvialo una volta a mano per confermare.
- Niente viene eliminato se qualcosa non si è potuto leggere. Se una cartella dell'origine è illeggibile durante un passaggio, la sincronizzazione copia ciò che può e non elimina nulla.
- I file più recenti nella destinazione restano. Con una destinazione di tipo cartella, un file modificato nella destinazione (più recente che nell'origine) non viene sovrascritto; compare come conflitto.
La modalità Copia non elimina mai nulla nella destinazione.
Versione del sito e versione del Mac App Store
Folia Files esiste in due versioni, e la sincronizzazione non è la stessa:
- Versione del sito: lo strumento Sincronizzazione c'è, con destinazioni di tipo cartella e cloud.
- Versione del Mac App Store: la sincronizzazione fa parte di ciò che aggiunge Folia Files Companion, una piccola app gratuita. Lo strumento compare quando Companion è installato e attivo; senza, la voce Sincronizzazione… non è nel menu. Con Companion sono disponibili le sincronizzazioni verso una cartella e verso un cloud tramite rclone (quelle verso il cloud girano dentro Companion, e rclone deve comunque essere installato).
I Backup (Strumenti › Backup…) funzionano in entrambe le versioni senza Companion, su un disco o un NAS.
Sincronizzazione o backup? Verifica prima di fidarti
Una sincronizzazione ti dà un'unica copia aggiornata. Se ti servono versioni precedenti dei file, usa i Backup, che conservano copie datate delle cartelle scelte su un disco o un NAS; i file invariati non occupano spazio in più. Molti usano entrambi: uno specchio per avere una copia di lavoro sul NAS e i backup per tornare indietro.
Per verificare che una copia corrisponda davvero alla sua origine, apri Strumenti › Confronta… e confronta le due cartelle: i file aggiunti, rimossi e modificati sono elencati fianco a fianco.

Se la destinazione è un server o un cloud che non monti, leggi come collegarsi a SFTP e S3 su Mac senza macFUSE.


