Skip to content

Date: 2026-06-11 Repo: D:\FSS\Software\Utils\PythonUtils\my_backup

B2 backup failed with rclone exit 7. Non-ASCII characters reported in backup.log.

rclone sync creates B2 “hide markers” (soft delete) instead of permanently deleting files. These hidden versions count toward B2 storage. After 3 months of daily Kopia maintenance:

  • Local Kopia repo: 5.1 GB
  • B2 bucket: 10.1 GB (5 GB was accumulated hidden versions)

Hit the 10 GB free-tier Daily Storage Cap → B2 blocked uploads → rclone exit 7.

  1. / (U+2713/U+2717): PlainTextFormatter stripped Rich markup tags but passed Unicode chars through unchanged
  2. \x85 (cp1252 ellipsis): monthly cron runs via cmd.exe in cp1252 context, stdout redirected to backup.log
FixFileChange
--b2-hard-deletetasks.pyPermanent deletes on B2 — no more hide markers
rclone stderr loggingtasks.pyLog rclone error output on failure (not just exit code)
Unicode→ASCII in logutils.pyPlainTextFormatter replaces [OK], [X]
PYTHONUTF8=1 in croncrontabForces UTF-8 for all monthly cmd.exe backup runs

Ran rclone cleanup :b2:fss-backup-mirror → purged 5 GB of hidden versions. B2 bucket: 10.1 GB → 5.133 GB. Daily backups green as of 2026-06-11.

B2 lifecycle rule set to expire hidden versions after 2 days.

[2026-06-11 08:00:59] INFO ✓ Backblaze B2 (Active): Synced Successfully [2026-06-11 10:58:22] INFO [OK] Backblaze B2 (Active): Synced Successfully (post-fix) Non-ASCII bytes in log after fix: 0

  • CHANGELOG.md: v1.5.0
  • LESSONS.md: 4 new entries (B2 versioning, PYTHONUTF8, rclone stderr, PlainTextFormatter)