如何自動備份 Thunderbird 郵件和聯絡人

可靠的 Thunderbird 備份應該保留整個使用者設定文件,而不僅僅是可見收件匣的副本。使用者設定檔儲存帳戶設定、已下載的郵件、通訊錄、過濾器和其他使用者資料。如果在備份執行時 Thunderbird 處於關閉狀態,則可以透過定時備份來同時保護本機郵件和聯絡人。本指南將介紹如何使用 PowerShell 和工作排程器在 Windows 上設定此過程,然後示範如何檢查備份是否可用。

Thunderbird設定檔備份包含哪些內容?

Thunderbird 將其工作資料儲存在設定檔資料夾中。 Mozilla 的設定檔匯出工具指出,設定檔備份包含帳戶、郵件、通訊錄和設定。因此,設定檔是進行本機自動備份的理想選擇。請務必使用目前活動的設定檔;一台電腦可以包含多個設定文件,如果備份了錯誤的設定文件,可能會產生一個看似有效的資料夾,但其中卻缺少您期望的郵件。

有兩個重要的限制。首先,IMAP 帳號通常代表儲存在郵件伺服器上的郵件。本機設定檔副本僅包含 Thunderbird 已同步以供離線使用的資料夾和郵件的郵件正文。它並非伺服器上所有郵件的獨立存檔。其次,遠端 CardDAV 通訊錄(例如由服務託管的聯絡人)仍然由該服務控制。設定檔備份可以保留 Thunderbird 的設定和本地地址簿數據,但它不能取代聯絡人提供者提供的單獨備份。

Thunderbird 的故障排除資訊頁面顯示了「設定檔目錄」行和一個「開啟目錄」按鈕。
在設定備份腳本的來源路徑之前,請從故障排除資訊中開啟 Thunderbird 的設定檔位置。

步驟 1:找到設定檔並準備備份目標位置

在 Thunderbird 中,開啟應用程式選單,選擇「說明」,然後選擇「故障排除資訊」。在「應用程式基本資訊」下,找到「設定檔目錄」,然後選擇「開啟目錄」。不同版本的措詞可能略有不同。這將開啟目前活動的設定檔資料夾。向上導航兩級,找到包含 `<path>`Profiles和`<path>` 的 Thunderbird 資料夾profiles.ini。在典型的 Windows 系統中,它%APPDATA%\Thunderbird通常位於使用者的漫遊 AppData 資料夾下。

使用位於不同實體磁碟或受保護的網路備份位置的目標位置。在本例中,請E:\Thunderbird-Backups在排程任務運行時建立並保持該磁碟機的連線。在同一故障磁碟上建立第二個資料夾雖然方便,但如果磁碟遺失,它就不是單獨的備份。如果您的設定檔儲存在預設 Thunderbird 資料夾之外,請記下其自訂位置,並調整腳本以複製該路徑。

Windows 檔案總管顯示 Thunderbird 資料夾,其中包含 Profiles 和 profiles.ini 文件,Profiles 資料夾內還有一個 profile 資料夾。
Thunderbird 資料夾包含設定檔目錄和 profiles.ini 文件,這有助於 Thunderbird 在復原過程中找到設定檔。

步驟 2:建立 PowerShell 備份腳本

Mozilla 建議在複製設定檔之前關閉 Thunderbird。如果在程式正在變更郵件資料庫或通訊錄時進行複製,可能會導致擷取的檔案處於不同的時間點。以下腳本會檢查 Thunderbird 進程是否正在執行,如果是,請跳過該進程,而不是強制關閉程式。它會建立一個帶有日期標記的快照,僅在複製成功後才寫入完成標記,並保留最新的 14 個已完成的快照。

首先建立C:\Scripts並E:\Thunderbird-Backups儲存以下內容C:\Scripts\Backup-Thunderbird.ps1。如果您的備份磁碟機使用不同的盤符,請變更目標位置。

$ErrorActionPreference = 'Stop'
$source = Join-Path $env:APPDATA 'Thunderbird'
$backupRoot = 'E:\Thunderbird-Backups'
$log = Join-Path $backupRoot 'backup.log'

if (-not (Test-Path -LiteralPath $source -PathType Container)) { throw "Source not found: $source" }
if (-not (Test-Path -LiteralPath $backupRoot -PathType Container)) { throw "Backup drive is unavailable: $backupRoot" }

if (Get-Process -Name thunderbird -ErrorAction SilentlyContinue) {
    "$(Get-Date -Format o) Skipped: Thunderbird is still running." | Add-Content -LiteralPath $log
    exit 0
}

$stamp = Get-Date -Format 'yyyyMMdd-HHmmss'
$destination = Join-Path $backupRoot "tb-$stamp"
New-Item -ItemType Directory -Path $destination | Out-Null

& robocopy $source $destination /E /COPY:DAT /DCOPY:DAT /R:2 /W:5 /XJ /XD 'Crash Reports' 'Pending Pings' /NFL /NDL /NP
$copyCode = $LASTEXITCODE
if ($copyCode -ge 8) { throw "Robocopy failed with exit code $copyCode" }

'Completed' | Set-Content -LiteralPath (Join-Path $destination '_backup-complete.txt')
"$(Get-Date -Format o) Completed: $destination" | Add-Content -LiteralPath $log

Get-ChildItem -LiteralPath $backupRoot -Directory -Filter 'tb-*' |
    Where-Object { Test-Path -LiteralPath (Join-Path $_.FullName '_backup-complete.txt') } |
    Sort-Object LastWriteTime -Descending |
    Select-Object -Skip 14 |
    Remove-Item -Recurse -Force

在檔案總管中右鍵點選腳本並選擇「使用 PowerShell 執行」來執行一次,或直接從 PowerShell 視窗執行。請先關閉 Thunderbird。確認新tb-YYYYMMDD-HHMMSS資料夾出現,並且包含 ` <profile_name>` _backup-complete.txt、profiles.ini`<profile_name>` 和預期的設定檔目錄。如果複製失敗,請檢查目標磁碟機是否已連線且有足夠的可用空間。該腳本不會加密備份;如果設定檔包含敏感郵件或已儲存的憑證,請使用加密磁碟或加密備份目標。

PowerShell 編輯器顯示了一個腳本,該腳本會在 Thunderbird 執行時跳過,並使用 robocopy 複製 Thunderbird 資料夾。
腳本會在複製設定檔之前檢查 Thunderbird 是否已關閉,並記錄跳過或完成的執行情況。

步驟 3:使用任務排程程式安排腳本執行

開啟 Windows 工作排程程序,選擇「建立基本任務」。將其命名為「Thunderbird 設定檔備份」。選擇一個您可能不在 Thunderbird 的時間段作為每日觸發時間,例如凌晨 2:00。選擇「啟動程序」,輸入powershell.exeThunderbird 作為程序,並新增以下參數:

-NoProfile -ExecutionPolicy Bypass -File "C:\Scripts\Backup-Thunderbird.ps1"

嚮導完成後,開啟任務屬性。在「觸發器」標籤中,編輯每日觸發器,並將其設定為每小時重複一次,持續一天。這樣,即使 Thunderbird 關閉,腳本也能再次運行,而無需等到第二天。在「設定」標籤中,啟用「錯過計畫啟動時間後儘快執行任務」選項,並阻止在前一個執行個體仍在執行時啟動新執行個體。使用與備份使用者設定檔相同的 Windows 使用者帳戶執行此任務,並確保備份磁碟機可用。如果電腦已關機或使用者未登錄,則僅針對該互動式帳戶配置的任務可能無法如預期運作。

任務規劃程式也可以透過 PowerShell 進行配置,但圖形化精靈可以更方便地查看操作和重複​​週期。微軟在 ScheduledTasks 模組中記錄了每日和重複觸發器。關鍵結果是一樣的:任務應該呼叫腳本,而不是 Thunderbird 本身,而其歷史記錄應該顯示在預期時間進行的嘗試。

Windows 建立基本任務精靈設定為啟動 powershell.exe,並將 Backup-Thunderbird.ps1 腳本作為參數。
任務排程器會在定期觸發時執行 PowerShell 備份腳本;使用任務記錄來查看每次執行情況。

如何判斷備份是否正常運作?

  • 快照已完成。tb-*關閉 Thunderbird 後,目標位置應包含一個帶有完成標記的、標有日期的新目錄。
  • 日誌解釋了未完成的運行。標記為「已跳過」的行表示任務檢查時 Thunderbird 處於開啟狀態。請關閉 Thunderbird,並等待稍後的每小時運行。
  • 快照包含預期設定檔。請檢查profiles.ini您指定的設定檔資料夾、郵件資料夾或其他預期資料。檔案大小因帳戶和同步設定而異。
  • 任務規劃程式會顯示最近的活動。請查看任務的「上次運行時間」、「上次運行結果」和「記錄」標籤。任務成功啟動並不能證明複製已完成;還應檢查標記和日誌。

在依賴常規方法之前,請先進行恢復測試。使用單獨的 Windows 帳戶或測試計算機,關閉 Thunderbird,然後按照 Mozilla 的設定檔匯入或還原說明還原已複製的設定檔。確認本地郵件和通訊錄均已顯示。切勿透過覆蓋您日常使用的電腦上唯一可用的設定檔來進行測試。

什麼情況下應該使用其他備份方法?

此腳本是一個簡單的定時複製腳本,用於將 Windows 使用者設定檔複製到目標磁碟機。如果 Thunderbird 一直保持開啟狀態,其檢查功能可能會跳過每次執行;請選擇一個固定的時間關閉 Thunderbird,或使用專為安全備份應用程式資料而設計的備份軟體。如果使用者設定檔非常大,請規劃 14 個完整快照的儲存空間,或根據所需的歷史記錄量變更保留策略和計畫。 Mozilla 內建的使用者設定檔匯出工具便於一次匯出為 ZIP 文件,但其目前記錄的限制為 2 GB,因此並不適用於所有大型使用者設定檔或無人值守的定期備份任務。

對於 macOS 和 Linux,操作原則相同:使用 Thunderbird 的故障排除頁面識別當前活動的設定文件,僅在 Thunderbird 關閉後複製,並使用作業系統的排程任務程式安排複製操作。預設資料位置因平台而異,Snap、Flatpak、便攜式版本和自訂設定檔安裝可能會使用不同的路徑。請勿將正在運行的 Thunderbird 設定檔指向同步的雲端資料夾,或在多台電腦上同時開啟它。 Mozilla 警告稱,透過雲端儲存或檔案共享同時存取可能會損壞設定檔資料。請改為上傳已完成並關閉的快照作為備份,並使用加密保護它們。

如需最新說明,請參閱 Mozilla 的Thunderbird 設定檔位置和備份指南、設定檔匯出和匯入指南以及IMAP 同步指南。 Microsoft 的任務規劃程式觸發器文件解釋了每日和重複排程任務的設定。選單名稱、設定檔路徑和排程程式設定可能會因 Thunderbird 版本或安裝類型而異,因此請確認您要備份的電腦上的活動設定檔。

留下評論

Fix Thunderbird Profile Locked: ‘Thunderbird Is Already Running’ Error

Fix Thunderbird Profile Locked: ‘Thunderbird Is Already Running’ Error

Fix Thunderbird’s “already running” profile lock error safely. Close stuck processes, back up the correct profile, remove only a stale lock file, and verify the repair.

如何將 MBOX 檔案匯入 Thunderbird 115 Supernova

如何將 MBOX 檔案匯入 Thunderbird 115 Supernova

學習兩種將 MBOX 檔案匯入 Thunderbird 115 Supernova 的可靠方法:使用相容的 ImportExportTools NG 版本或安全地將郵箱複製到本機資料夾。

如何在 Thunderbird 中為 Gmail 設定 OAuth2 身份驗證

如何在 Thunderbird 中為 Gmail 設定 OAuth2 身份驗證

使用 OAuth2 將 Gmail 連接到 Thunderbird,完成 Google 的登入流程,確認 IMAP 和 SMTP 驗證,並解決常見的登入問題。

如何在 Thunderbird 115 Supernova 中設定 OpenPGP 電子郵件加密

如何在 Thunderbird 115 Supernova 中設定 OpenPGP 電子郵件加密

設定 Thunderbird 115 OpenPGP 加密:建立並備份個人金鑰、驗證收件者金鑰、加密郵件並測試設定。包含 115 版本停止支援的注意事項。

如何安全地將 Thunderbird 設定檔移至另一個磁碟機或計算機

如何安全地將 Thunderbird 設定檔移至另一個磁碟機或計算機

將您的 Thunderbird 設定檔遷移到新硬碟或電腦,無需遺失郵件、密碼或設定。請依照安全備份、複製和設定檔選擇步驟操作。

如何將 Thunderbird 聯絡人匯出為 CSV 或 VCF 文件

如何將 Thunderbird 聯絡人匯出為 CSV 或 VCF 文件

將 Thunderbird 通訊錄匯出為 CSV(用於電子表格)或 VCF(用於聯絡人應用程式)。了解選擇哪種格式、匯出按鈕的位置以及如何驗證文件。

修復 Thunderbird 主密碼提示多次出現的問題

修復 Thunderbird 主密碼提示多次出現的問題

了解 Thunderbird 為何會重複顯示主密碼提示,以及如何使用更新、已儲存的登入檢查、故障排除模式和設定檔測試安全地修復這些問題。

修復 Thunderbird “郵件發送失敗” SMTP 錯誤

修復 Thunderbird “郵件發送失敗” SMTP 錯誤

檢查指派的 SMTP 伺服器、供應商設定、驗證、網路封鎖和郵件大小,以修復 Thunderbird 的「郵件傳送失敗」SMTP 錯誤。

自訂 Thunderbird 115 Supernova 的密度、版面配置和郵件列表

自訂 Thunderbird 115 Supernova 的密度、版面配置和郵件列表

調整 Thunderbird 115 Supernova 的緊湊、預設或寬鬆密度,選擇視窗佈局,在卡片視圖和表格視圖之間切換,並自訂資料夾窗格和工具列。

如何解決 Thunderbird 記憶體佔用過高和效能緩慢的問題

如何解決 Thunderbird 記憶體佔用過高和效能緩慢的問題

透過安全、循序漸進的檢查,診斷 Thunderbird 的記憶體使用情況和運行緩慢問題,檢查附加元件、索引、設定檔和系統瓶頸。