-
Notifications
You must be signed in to change notification settings - Fork 56
Backup
palmoni5 edited this page Jul 17, 2026
·
1 revision
lib/settings/services/backup_service.dart + services/backup/ — גיבוי מלא של הנתונים האישיים.
פורמט v2.0 (JSON) עם includes לכל סעיף:
- הגדרות — רשימת מפתחות מפורשת.
- סימניות והיסטוריה — מ־Hive.
- הערות אישיות — מ־SQLite.
- שולחנות עבודה.
-
שמור וזכור — מפתחות
sz:מ־Hive. - תוספים — התקנה + הרשאות + KV + נתונים מפורסמים + קבצים.
- ידני — קובץ עצמאי לחלוטין (קבצי תוספים מוטמעים base64); לעולם לא נמחק ברוטציה.
- אוטומטי — מפנה ל־blobs במחסן (ראו למטה), כפוף לרוטציה. תדירות: יומי/שבועי/חודשי/כבוי. אחרי הצלחה רצה תחזוקה.
-
analyzeBackupStatus— המלצה על גיבוי חדש לפי היקף שינויים (הגדרות, הערות חדשות, שינוי 50%+ בשמור וזכור וכו').
מחסן content-addressable: כל blob נשמר לפי sha256 תחת store/objects/<xx>/<hash>, דחוס gzip, פעם אחת בלבד (dedup). GC בשיטת Mark & Sweep עם grace של 30 יום.
מדיניות Grandfather-Father-Son עם שלושה פרופילים:
| פרופיל | ימים | שבועות | חודשים |
|---|---|---|---|
| economy | 3 | חודש | 3 חודשים |
| balanced (ברירת מחדל) | 7 | 60 יום | שנה |
| keepAll | הכל |
גיבויים שפג תוקפם לא נזרקים — הם ממוזגים לארכיון מתגלגל (otzaria_archive.json):
- איחוד לפי זהות פריט: החדש מנצח; פריט שקיים רק בישן נשמר עם
lastSeenAt; גיזום אחרי 3 שנים. - מפתחות זהות ייעודיים פר־סוג (סימניות, היסטוריה, הערות לפי id+updatedAt, שמור וזכור פר־ספר).
- כתיבה אטומית מאומתת עם
.bak; המקור נמחק רק אחרי שהארכיון נכתב ואומת. - מחזור התחזוקה: רוטציה ← מיזוג ← GC של blobs יתומים. כולל מיגרציה עצלה של פורמט v1.
תואם v1 ו־v2; מדלג על מפתחות ספציפיים לפלטפורמה אחרת (כמו keyDbEffectivePath מחוץ ל־Android); מטפל בגיבוי חלקי; מאמת נתיבי תוספים מפני path traversal.
📖 מדריך למשתמש
- התחלת העבודה
- הספרייה
- קריאת ספר
- קריאת PDF
- חיפוש
- איתור מקורות
- טאבים ושולחנות
- סימניות והערות
- ספרים אישיים
- הגדרות
- גיבוי ושחזור
- עדכונים
- תוספים
- כלים
- קישורי עומק
🛠️ למפתחים — יסודות
נתונים וספרייה
קריאה
חיפוש
אישי ומערכת
עיצוב ו־UI