BackupZit

Zálohování Microsoft 365 na vlastní server

Návod krok za krokem: zálohujte poštovní schránky Exchange Online, OneDrive, SharePoint, kalendáře a kontakty tenantu Microsoft 365 na úložiště, které máte pod kontrolou — s oprávněními jen pro čtení, deduplikací, šifrováním a kopií mimo firmu.

Co nastavíte

BackupZit čte tenant Microsoft 365 přes Microsoft Graph pomocí registrace aplikace, která má oprávnění jen pro čtení: v tenantu se nic nemění ani nemaže. Data stahuje kterýkoli agent BackupZit s přístupem k internetu — například agent na počítači s konzolí — a ukládá je jako každou jinou zálohu: deduplikovaně, šifrovaně, s uchováváním, úlohami kopírování a testy obnovy. BackupZit je zdarma a open source (AGPLv3), bez licencí na uživatele.

Proč samostatná kopie Microsoft 365?

Microsoft zajišťuje chod služby, ale za data v ní odpovídáte vy: omylem smazaná schránka, soubory zašifrované přes synchronizovaný OneDrive nebo účet odstraněný při odchodu zaměstnance. Koše a nastavení uchovávání jsou ve stejném tenantu a vyprší. Záloha na vašem úložišti je nezávislá kopie pod vaší kontrolou, mimo tenant a jeho správcovské účty.

Microsoft i další dodavatelé prodávají zálohování Microsoft 365 také jako cloudovou službu, obvykle účtovanou za uživatele nebo za gigabajt. BackupZit je varianta na vlastním serveru: data končí na vašem NAS, serveru nebo bucketu S3 a jediným nákladem je úložiště.

Co potřebujete

  • Konzoli BackupZit — malý linuxový VM (2 vCPU, 2–4 GB RAM, disk 16–20 GB) z hotového obrazu na stránce ke stažení, nebo instalační skript na existujícím serveru Debian, Ubuntu, AlmaLinux či Rocky Linux.
  • Agenta, který data stahuje: Windows nebo Linux, s přístupem HTTPS k login.microsoftonline.com, graph.microsoft.com a pro soubory OneDrive a SharePoint k *.sharepoint.com. Stačí agent na počítači s konzolí.
  • Úložiště pro zálohy: SFTP, sdílená složka SMB, bucket kompatibilní s S3, Azure Blob Storage nebo zabezpečený repozitář BackupZit.
  • Globálního správce tenantu, jednou, k registraci aplikace a udělení souhlasu.

Krok 1 — Registrace aplikace v Microsoft Entra ID

Jednou pro každý tenant, v Centru pro správu Microsoft Entra:

  1. App registrations → New registration: pojmenujte ji např. BackupZit, zvolte Accounts in this organizational directory only, bez URI přesměrování. Na stránce přehledu si poznamenejte Application (client) ID a Directory (tenant) ID.
  2. Certificates & secrets → New client secret: zvolte platnost (např. 24 měsíců) a hned zkopírujte Value tajného klíče — zobrazí se jen jednou. Secret ID není tajný klíč.
  3. API permissions → Add a permission → Microsoft Graph → Application permissions (ne delegovaná):
    ZálohaOprávnění
    Pošta a OneDriveUser.Read.All, Mail.Read, Files.Read.All
    Kalendáře a kontaktynavíc Calendars.Read, Contacts.Read
    Weby SharePointnavíc Sites.Read.All
  4. Klikněte na Grant admin consent for …. Do té doby stav ukazuje Not granted a zálohy jsou odmítány.

Jsou to pouze oprávnění ke čtení. Chcete-li aplikaci omezit jen na některé schránky, může správce Exchange přidat zásadu přístupu aplikací nebo obor RBAC for Applications; účty mimo něj se pak hlásí jako nečitelné.

Krok 2 — Přidání cíle úložiště

V konzoli otevřete Úložiště a přidejte cíl — například sdílenou složku SMB na NAS pro první kopii a bucket S3 s Object Lock pro kopii mimo firmu. Nechte zapnuté Šifrovat zálohy (AES-256) (výchozí): pošta i soubory se šifrují AES-256 na agentovi dřív, než ho opustí. Klíč pro obnovu, který konzole zobrazí, uchovávejte odděleně od záloh, například vytištěný nebo ve správci hesel.

Krok 3 — Vytvoření úlohy Microsoft 365

  1. V Úlohy zálohování vytvořte úlohu typu Microsoft 365 a vyberte agenta, který bude stahovat.
  2. Zadejte Directory (tenant) ID, Application (client) ID a Client secret z kroku 1. Tajný klíč se uloží šifrovaně.
  3. Zvolte, co zálohovat: Pošta, OneDrive, Kalendáře a kontakty, Weby SharePoint — v libovolné kombinaci.
  4. Zvolte účty: Všechny účty s poštovní schránkou nebo OneDrive (později přidané účty se zahrnou automaticky; výjimky do pole Kromě, jedna na řádek) nebo Pouze tyto účty. Účty bez licence se přeskočí. Pro SharePoint platí stejná volba pro weby: všechny weby s výjimkami, nebo jen uvedené adresy jako https://contoso.sharepoint.com/sites/sales.
  5. Místo psaní adres klikněte na Vybrat ze seznamu: konzole načte účty a weby tenantu pomocí právě zadané aplikace a nechá vás je zaškrtnout.
  6. Zvolte cíl úložiště, plán (např. každou noc) a uchovávání.

Při uložení se konzole přihlásí jako aplikace a ověří oprávnění, účty a weby, takže špatný tajný klíč nebo chybějící souhlas správce se ukáže okamžitě.

První záloha stáhne vše. Každá další znovu projde složky, ale stáhne jen nové nebo změněné zprávy a soubory (přečtené, označené, přesunuté nebo upravené zprávy se počítají jako změněné); nezměněná data se převezmou z předchozí zálohy. Microsoft omezuje, jak rychle smí aplikace číst — BackupZit počká, když o to Microsoft požádá, a pokračuje, takže první záloha velkých schránek může trvat hodiny.

Co se zálohuje

DataUkládají se jako
PoštaVšechny složky a podsložky; každá zpráva celá s přílohami jako soubor .eml pojmenovaný podle data a předmětu. Otevře ho Outlook, Thunderbird i většina poštovních programů.
OneDriveVšechny soubory a složky s časem změny.
KalendářeKaždý kalendář; každá událost jako soubor iCalendar (.ics) s časem, místem, účastníky, připomenutím a opakováním. Importuje ho Outlook, Kalendář Google i Thunderbird.
KontaktyKontakty a složky kontaktů jako vCard (.vcf).
SharePointKaždá knihovna dokumentů každého webu, se všemi složkami a soubory. Soubory Teams jsou v SharePointu a zálohují se také.

Záloha obsahuje jednu složku na účet — ana@contoso.com/Mail/Inbox/…, …/OneDrive/…, …/Calendar/…, …/Contacts/… — a SharePoint/<web>/<knihovna>/…. Protože jde o standardní formáty, soubory zůstanou čitelné i bez BackupZit.

Krok 4 — Kopie mimo firmu (3-2-1)

Přidejte úlohu typu Kopie zálohy s úlohou Microsoft 365 jako zdrojem a druhým cílem na jiném místě — bucket S3 s Object Lock nebo zabezpečený repozitář udělá z této kopie neměnnou. Posílají se jen data, která v cíli ještě nejsou, a kopie má vlastní uchovávání. Automatické testy obnovy (ve výchozím stavu týdně, v Nastavení → Testy obnovy) obnoví náhodný vzorek z nejnovější zálohy a ověří každý bajt proti uloženým kontrolním součtům.

Obnova

  • Procházení a stahování: ve spuštění zálohy otevřete složky pošty, OneDrive, kalendáře nebo kontakty účtu, případně web SharePoint; zaškrtněte zprávy, události, soubory nebo složky a stáhněte je — jeden soubor tak, jak je, více jako ZIP. Soubory .eml otevřete v Outlooku nebo je přetáhněte do schránky.
  • Obnovit do složky na libovolném agentovi: zprávy jako .eml, události jako .ics, kontakty jako .vcf, soubory OneDrive a SharePoint v původní podobě, do <složka>/<účet>/… a <složka>/SharePoint/….

Omezení

  • Obnova přímo do schránky nebo OneDrive zatím není k dispozici (je plánována; bude zapisovat jen do nové složky a nikdy nepřepíše). Zatím data stáhnete nebo obnovíte do složky.
  • Nezálohuje se: chaty a zprávy kanálů Teams, seznamy a stránky SharePointu (jen knihovny dokumentů), přílohy událostí, fotky kontaktů, jednotlivě změněné výskyty série a sdílené schránky bez uživatelského účtu.
  • Časy událostí se ukládají v UTC.

Řešení problémů

  • AADSTS7000215 / invalid client secret: místo Value bylo zkopírováno ID tajného klíče, nebo klíč vypršel — vytvořte nový a zadejte ho do úlohy.
  • Missing application permissions / Authorization_RequestDenied: přidejte oprávnění jako oprávnění aplikace a klikněte na Grant admin consent.
  • The account has no Exchange Online mailbox: účet nemá licenci Exchange (nebo je to kontakt); odeberte ho z úlohy.
  • Spuštění s varováními vypíše zprávy nebo soubory, které nešlo přečíst (např. poznámkový blok OneNote); zbytek zálohy je úplný.

Další kroky

Stáhněte si BackupZit, prohlédněte si všechny funkce pro Microsoft 365 nebo si přečtěte kapitolu Microsoft 365 v návodu v konzoli. Stejná konzole zálohuje i servery a virtuální počítače — viz návody pro Proxmox VE a Hyper-V. Dotazy jsou vítány v GitHub Discussions. Firmy mohou získat komerční podporu od MaxZit (pouze v angličtině).