Cosa configurerete
BackupZit legge un tenant Microsoft 365 tramite Microsoft Graph con una registrazione di app che ha solo permessi di lettura: nel tenant non viene modificato né eliminato nulla. Qualsiasi agente BackupZit con accesso a Internet scarica i dati — per esempio l'agente sulla macchina della console — e li salva come ogni altro backup: deduplicati, cifrati, con conservazione, job di copia e test di ripristino. BackupZit è gratuito e open source (AGPLv3), senza licenze per utente.
Perché una copia separata di Microsoft 365?
Microsoft mantiene attivo il servizio, ma i dati al suo interno sono una vostra responsabilità: una casella eliminata per errore, file cifrati tramite un OneDrive sincronizzato o un account rimosso quando qualcuno lascia l'azienda. Cestini e impostazioni di conservazione si trovano nello stesso tenant e scadono. Un backup sul vostro storage è una copia indipendente che controllate voi, fuori dal tenant e dai suoi account amministrativi.
Microsoft e altri fornitori vendono il backup di Microsoft 365 anche come servizio cloud, di solito a pagamento per utente o per gigabyte. BackupZit è l'opzione self-hosted: i dati finiscono sul vostro NAS, server o bucket S3 e l'unico costo è lo storage.
Cosa serve
- Una console BackupZit — una piccola VM Linux (2 vCPU, 2–4 GB di RAM, disco da 16–20 GB) dall'immagine pronta della pagina di download, oppure lo script di installazione su un server Debian, Ubuntu, AlmaLinux o Rocky Linux esistente.
- Un agente che scarichi i dati: Windows o Linux, con accesso HTTPS a
login.microsoftonline.com,graph.microsoft.come, per i file di OneDrive e SharePoint,*.sharepoint.com. Basta l'agente sulla macchina della console. - Storage per i backup: SFTP, una condivisione SMB, un bucket compatibile S3, Azure Blob Storage o un repository protetto BackupZit.
- Un amministratore globale del tenant, una sola volta, per registrare l'app e concedere il consenso.
Passo 1 — Registrare un'app in Microsoft Entra ID
Una volta per tenant, nell'interfaccia di amministrazione di Microsoft Entra:
- App registrations → New registration: chiamatela per esempio
BackupZit, scegliete Accounts in this organizational directory only, senza URI di reindirizzamento. Annotate l'Application (client) ID e il Directory (tenant) ID nella sua pagina di panoramica. - Certificates & secrets → New client secret: scegliete una durata (p. es. 24 mesi) e copiate subito il Value del segreto — viene mostrato una sola volta. Il Secret ID non è il segreto.
- API permissions → Add a permission → Microsoft Graph → Application permissions (non delegate):
Per salvare Permessi Posta e OneDrive User.Read.All,Mail.Read,Files.Read.AllCalendari e contatti anche Calendars.Read,Contacts.ReadSiti SharePoint anche Sites.Read.All - Fate clic su Grant admin consent for …. Fino ad allora lo stato mostra Not granted e i backup vengono rifiutati.
Sono solo permessi di lettura. Per limitare l'app ad alcune caselle, un amministratore Exchange può aggiungere un criterio di accesso alle applicazioni o un ambito RBAC for Applications; gli account esclusi vengono allora segnalati come non leggibili.
Passo 2 — Aggiungere una destinazione
Nella console aprite Archiviazione e aggiungete una destinazione — per esempio una condivisione SMB su un NAS per la prima copia e un bucket S3 con Object Lock per la copia esterna. Lasciate attivo Cifra i backup (AES-256) (predefinito): posta e file vengono cifrati con AES-256 sull'agente prima di lasciarlo. Conservate la chiave di recupero mostrata dalla console lontano dai backup, per esempio stampata o in un password manager.
Passo 3 — Creare il job Microsoft 365
- In Job di backup create un job di tipo Microsoft 365 e scegliete l'agente che scarica.
- Inserite Directory (tenant) ID, Application (client) ID e Client secret del passo 1. Il segreto viene salvato cifrato.
- Scegliete cosa salvare: Posta, OneDrive, Calendari e contatti, Siti SharePoint — in qualsiasi combinazione.
- Scegliete gli account: Tutti gli account con una casella di posta o OneDrive (gli account aggiunti in seguito sono inclusi automaticamente; le eccezioni sotto Tranne, una per riga) oppure Solo questi account. Gli account senza licenza vengono saltati. Per SharePoint la stessa scelta vale per i siti: tutti i siti con eccezioni, oppure solo indirizzi elencati come
https://contoso.sharepoint.com/sites/sales. - Invece di digitare indirizzi, fate clic su Scegli dall'elenco: la console legge account e siti del tenant con l'app appena inserita e vi permette di spuntarli.
- Scegliete la destinazione, una pianificazione (p. es. ogni notte) e la conservazione.
Al salvataggio la console accede come l'app e verifica permessi, account e siti, così un segreto errato o un consenso mancante si vede subito.
Il primo backup scarica tutto. Ogni backup successivo rielenca le cartelle, ma scarica solo i messaggi e i file nuovi o modificati (i messaggi letti, contrassegnati, spostati o modificati contano come modificati); i dati invariati vengono presi dal backup precedente. Microsoft limita la velocità di lettura di un'app — BackupZit attende quando Microsoft lo chiede e prosegue, quindi un primo backup di caselle grandi può richiedere ore.
Cosa viene salvato
| Dati | Salvati come |
|---|---|
| Posta | Tutte le cartelle e sottocartelle; ogni messaggio completo di allegati come file .eml, con nome basato su data e oggetto. Outlook, Thunderbird e la maggior parte dei client di posta lo aprono. |
| OneDrive | Tutti i file e le cartelle con la data di modifica. |
| Calendari | Ogni calendario; ogni evento come file iCalendar (.ics) con ora, luogo, partecipanti, promemoria e ricorrenza. Outlook, Google Calendar e Thunderbird lo importano. |
| Contatti | Contatti e cartelle di contatti come vCard (.vcf). |
| SharePoint | Ogni raccolta documenti di ogni sito, con tutte le cartelle e i file. I file di Teams si trovano in SharePoint e sono inclusi. |
Un backup contiene una cartella per account — ana@contoso.com/Mail/Inbox/…, …/OneDrive/…, …/Calendar/…, …/Contacts/… — e SharePoint/<sito>/<raccolta>/…. Trattandosi di formati standard, i file restano leggibili anche senza BackupZit.
Passo 4 — Una copia esterna (3-2-1)
Aggiungete un job di tipo Copia di backup con il job Microsoft 365 come sorgente e una seconda destinazione in un altro luogo — un bucket S3 con Object Lock o un repository protetto rende quella copia immutabile. Vengono inviati solo i dati non ancora presenti a destinazione, e la copia ha la propria conservazione. I test di ripristino automatici (settimanali per impostazione predefinita, in Impostazioni → Test di ripristino) ripristinano un campione casuale dal backup più recente e verificano ogni byte rispetto ai checksum salvati.
Ripristino
- Sfogliare e scaricare: in un'esecuzione di backup aprite le cartelle di posta, OneDrive, calendari o contatti di un account, oppure un sito SharePoint; spuntate messaggi, eventi, file o cartelle e scaricateli — un file così com'è, più file come ZIP. Aprite i file
.emlin Outlook o trascinateli in una casella. - Ripristina in una cartella su qualsiasi agente: messaggi come
.eml, eventi come.ics, contatti come.vcf, file di OneDrive e SharePoint così com'erano, sotto<cartella>/<account>/…e<cartella>/SharePoint/….
Limiti da conoscere
- Il ripristino diretto in una casella o in OneDrive non è ancora disponibile (previsto; scriverà solo in una nuova cartella e non sovrascriverà mai). Per ora si scarica o si ripristina in una cartella.
- Non inclusi: chat e messaggi dei canali di Teams, elenchi e pagine SharePoint (solo raccolte documenti), allegati degli eventi, foto dei contatti, singole occorrenze modificate di una serie e cassette condivise senza account utente.
- Gli orari degli eventi vengono salvati in UTC.
Risoluzione dei problemi
- AADSTS7000215 / invalid client secret: è stato copiato l'ID del segreto invece del suo Value, oppure il segreto è scaduto — createne uno nuovo e inseritelo nel job.
- Missing application permissions / Authorization_RequestDenied: aggiungete i permessi come permessi di applicazione e fate clic su Grant admin consent.
- The account has no Exchange Online mailbox: l'account non ha una licenza Exchange (o è un contatto); toglietelo dal job.
- Un'esecuzione con avvisi elenca i messaggi o i file che non è stato possibile leggere (p. es. un blocco appunti OneNote); il resto del backup è completo.
Prossimi passi
Scaricate BackupZit, guardate tutte le funzioni per Microsoft 365 o leggete il capitolo Microsoft 365 nella guida integrata nella console. La stessa console salva anche server e macchine virtuali — vedete le guide per Proxmox VE e Hyper-V. Le domande sono benvenute nelle GitHub Discussions. Le aziende possono ottenere supporto commerciale da MaxZit (solo in inglese).