BackupZit

Microsoft 365'i kendi sunucunuza yedekleme

Adım adım kılavuz: bir Microsoft 365 kiracısının Exchange Online posta kutularını, OneDrive'ını, SharePoint'ini, takvimlerini ve kişilerini kendi denetiminizdeki depolamaya yedekleyin — salt okunur izinler, tekilleştirme, şifreleme ve dış kopya ile.

Neler kuracaksınız

BackupZit, yalnızca okuma izinleri olan bir uygulama kaydıyla bir Microsoft 365 kiracısını Microsoft Graph üzerinden okur: kiracıda hiçbir şey değiştirilmez veya silinmez. İnternet erişimi olan herhangi bir BackupZit aracısı verileri indirir — örneğin konsol makinesindeki aracı — ve diğer her yedek gibi saklar: tekilleştirilmiş, şifrelenmiş, saklama, kopyalama işleri ve geri yükleme testleriyle. BackupZit ücretsiz ve açık kaynaklıdır (AGPLv3), kullanıcı başına lisans yoktur.

Microsoft 365'in neden ayrı bir kopyası olmalı?

Microsoft hizmetin çalışmasını sağlar, ancak içindeki verilerden siz sorumlusunuz: yanlışlıkla silinen bir posta kutusu, eşitlenen bir OneDrive üzerinden şifrelenen dosyalar ya da biri şirketten ayrıldığında kaldırılan bir hesap. Geri dönüşüm kutuları ve saklama ayarları aynı kiracıdadır ve süreleri dolar. Kendi depolamanızdaki bir yedek, kiracının ve yönetici hesaplarının dışında, sizin denetiminizdeki bağımsız bir kopyadır.

Microsoft ve diğer sağlayıcılar Microsoft 365 yedeklemeyi bulut hizmeti olarak da satar; genellikle kullanıcı veya gigabayt başına ücretlendirilir. BackupZit kendi sunucunuzda çalışan seçenektir: veriler NAS'ınıza, sunucunuza veya S3 bucket'ınıza gider ve tek maliyet depolamadır.

Gerekenler

  • Bir BackupZit konsolu — indirme sayfasındaki hazır imajdan küçük bir Linux VM (2 vCPU, 2–4 GB RAM, 16–20 GB disk) veya mevcut bir Debian, Ubuntu, AlmaLinux ya da Rocky Linux sunucusunda kurulum betiği.
  • Verileri indiren bir aracı: Windows veya Linux; login.microsoftonline.com, graph.microsoft.com ve OneDrive ile SharePoint dosyaları için *.sharepoint.com adreslerine HTTPS erişimi olmalı. Konsol makinesindeki aracı yeterlidir.
  • Yedek depolama: SFTP, bir SMB paylaşımı, S3 uyumlu bir bucket, Azure Blob Storage veya BackupZit sağlamlaştırılmış deposu.
  • Uygulamayı kaydetmek ve onay vermek için bir kez kiracının genel yöneticisi.

Adım 1 — Microsoft Entra ID'de bir uygulama kaydedin

Kiracı başına bir kez, Microsoft Entra yönetim merkezinde:

  1. App registrations → New registration: ad olarak örneğin BackupZit verin, Accounts in this organizational directory only seçin, yeniden yönlendirme URI'si olmadan. Genel bakış sayfasındaki Application (client) ID ve Directory (tenant) ID değerlerini not alın.
  2. Certificates & secrets → New client secret: bir süre seçin (örn. 24 ay) ve gizli anahtarın Value değerini hemen kopyalayın — yalnızca bir kez gösterilir. Secret ID gizli anahtar değildir.
  3. API permissions → Add a permission → Microsoft Graph → Application permissions (temsilci değil):
    Yedeklenecekİzinler
    Posta ve OneDriveUser.Read.All, Mail.Read, Files.Read.All
    Takvimler ve kişilerayrıca Calendars.Read, Contacts.Read
    SharePoint siteleriayrıca Sites.Read.All
  4. Grant admin consent for … düğmesine tıklayın. O zamana kadar durum Not granted gösterir ve yedekler reddedilir.

Bunlar yalnızca okuma izinleridir. Uygulamayı belirli posta kutularıyla sınırlamak için bir Exchange yöneticisi bir uygulama erişim ilkesi veya RBAC for Applications kapsamı ekleyebilir; bunun dışındaki hesaplar okunamaz olarak bildirilir.

Adım 2 — Depolama hedefi ekleyin

Konsolda Depolama'yı açın ve bir hedef ekleyin — örneğin ilk kopya için bir NAS üzerindeki SMB paylaşımı ve dış kopya için Object Lock'lu bir S3 bucket'ı. Yedekleri şifrele (AES-256) seçeneğini açık bırakın (varsayılan): e-postalar ve dosyalar aracıdan çıkmadan önce aracıda AES-256 ile şifrelenir. Konsolun gösterdiği kurtarma anahtarını yedeklerden ayrı saklayın; örneğin yazdırarak veya bir parola yöneticisinde.

Adım 3 — Microsoft 365 işini oluşturun

  1. Yedekleme işleri altında Microsoft 365 türünde bir iş oluşturun ve indirmeyi yapacak aracıyı seçin.
  2. Adım 1'deki Directory (tenant) ID, Application (client) ID ve Client secret değerlerini girin. Gizli anahtar şifreli saklanır.
  3. Neyin yedekleneceğini seçin: Posta, OneDrive, Takvimler ve kişiler, SharePoint siteleri — herhangi bir birleşimle.
  4. Hesapları seçin: Posta kutusu veya OneDrive'ı olan tüm hesaplar (sonradan eklenen hesaplar otomatik dahil olur; istisnalar Hariç altında, satır başına bir tane) ya da Yalnızca bu hesaplar. Lisansı olmayan hesaplar atlanır. SharePoint için aynı seçim siteler için de geçerlidir: istisnalarla tüm siteler veya yalnızca https://contoso.sharepoint.com/sites/sales gibi listelenen adresler.
  5. Adres yazmak yerine Listeden seç'e tıklayın: konsol, az önce girdiğiniz uygulamayla kiracının hesaplarını ve sitelerini okur ve bunları işaretlemenizi sağlar.
  6. Depolama hedefini, bir zamanlamayı (örn. her gece) ve saklamayı seçin.

İş kaydedildiğinde konsol uygulama olarak oturum açar ve izinleri, hesapları ve siteleri denetler; böylece yanlış bir gizli anahtar veya eksik yönetici onayı hemen görünür.

İlk yedek her şeyi indirir. Sonraki her yedek klasörleri yeniden listeler ama yalnızca yeni veya değişen iletileri ve dosyaları indirir (okunan, işaretlenen, taşınan veya düzenlenen iletiler değişmiş sayılır); değişmeyen veriler önceki yedekten alınır. Microsoft bir uygulamanın okuma hızını sınırlar — BackupZit Microsoft istediğinde bekler ve devam eder; bu yüzden büyük posta kutularının ilk yedeği saatler sürebilir.

Neler yedeklenir

VeriSaklanma biçimi
PostaTüm klasörler ve alt klasörler; her ileti ekleriyle birlikte tam olarak, tarih ve konuya göre adlandırılmış bir .eml dosyası olarak. Outlook, Thunderbird ve çoğu e-posta programı açar.
OneDriveTüm dosyalar ve klasörler, değiştirilme zamanlarıyla.
TakvimlerHer takvim; her etkinlik saat, yer, katılımcılar, anımsatıcı ve yinelemeyle bir iCalendar dosyası (.ics) olarak. Outlook, Google Takvim ve Thunderbird içe aktarır.
KişilerKişiler ve kişi klasörleri vCard (.vcf) olarak.
SharePointHer sitenin her belge kitaplığı, tüm klasör ve dosyalarıyla. Teams dosyaları SharePoint'tedir ve dahil edilir.

Bir yedek, hesap başına bir klasör içerir — ana@contoso.com/Mail/Inbox/…, …/OneDrive/…, …/Calendar/…, …/Contacts/… — ve SharePoint/<site>/<kitaplık>/…. Standart biçimler oldukları için dosyalar BackupZit olmadan da okunabilir kalır.

Adım 4 — Dış kopya tutun (3-2-1)

Kaynak olarak Microsoft 365 işini ve başka bir yerdeki ikinci hedefi kullanan Yedek kopyası türünde bir iş ekleyin — Object Lock'lu bir S3 bucket'ı veya sağlamlaştırılmış bir depo bu kopyayı değiştirilemez yapar. Yalnızca hedefte henüz olmayan veri gönderilir ve kopyanın kendi saklaması vardır. Otomatik geri yükleme testleri (varsayılan olarak haftalık, Ayarlar → Geri yükleme testleri altında) en yeni yedekten rastgele bir örnek geri yükler ve her baytı saklanan sağlama toplamlarına göre doğrular.

Geri yükleme

  • Göz atma ve indirme: bir yedek çalıştırmasında bir hesabın posta klasörlerini, OneDrive'ını, takvimlerini veya kişilerini ya da bir SharePoint sitesini açın; iletileri, etkinlikleri, dosyaları veya klasörleri işaretleyip indirin — tek dosya olduğu gibi, birden çoğu ZIP olarak. .eml dosyalarını Outlook'ta açın veya bir posta kutusuna sürükleyin.
  • Herhangi bir aracıda bir klasöre geri yükleme: iletiler .eml, etkinlikler .ics, kişiler .vcf olarak, OneDrive ve SharePoint dosyaları oldukları gibi; <klasör>/<hesap>/… ve <klasör>/SharePoint/… altına.

Bilinmesi gereken sınırlar

  • Doğrudan bir posta kutusuna veya OneDrive'a geri yükleme henüz yok (planlanıyor; yalnızca yeni bir klasöre yazacak ve asla üzerine yazmayacak). Şimdilik indirir veya bir klasöre geri yüklersiniz.
  • Dahil olmayanlar: Teams sohbetleri ve kanal iletileri, SharePoint listeleri ve sayfaları (yalnızca belge kitaplıkları), takvim etkinliklerinin ekleri, kişi fotoğrafları, bir serinin tek tek değiştirilmiş yinelemeleri ve kullanıcı hesabı olmayan paylaşılan posta kutuları.
  • Takvim etkinliklerinin saatleri UTC olarak saklanır.

Sorun giderme

  • AADSTS7000215 / invalid client secret: gizli anahtarın Value'su yerine ID'si kopyalanmış ya da anahtarın süresi dolmuş — yeni bir tane oluşturup işe girin.
  • Missing application permissions / Authorization_RequestDenied: izinleri uygulama izni olarak ekleyin ve Grant admin consent'e tıklayın.
  • The account has no Exchange Online mailbox: hesabın Exchange lisansı yok (veya bir kişi); hesabı işten çıkarın.
  • Uyarılı bir çalıştırma okunamayan iletileri veya dosyaları listeler (örn. bir OneNote not defteri); yedeğin geri kalanı eksiksizdir.

Sonraki adımlar

BackupZit'i indirin, tüm Microsoft 365 özelliklerine bakın veya konsoldaki kılavuzda Microsoft 365 bölümünü okuyun. Aynı konsol sunucuları ve sanal makineleri de yedekler — Proxmox VE ve Hyper-V kılavuzlarına bakın. Sorularınızı GitHub Discussions'da sorabilirsiniz. Şirketler MaxZit'ten ticari destek alabilir (yalnızca İngilizce).