אחת הבעיות שנתקלתי בהן בעת העבודה עם Home-Assistant היא החסרון בצורת גיבוי/שחזור יעלה ונוחה אך גם פשוטה לשימוש. לאחרונה התוודעתי לתוכנת קוד פתוח בשם Duplicati המאפשרת לגבות ולשחזר קבצים בצורה פשוטה ויעילה לשלל התקנים ובפרוטוקולים שונים ומגוונים:
- SMB Share
- ftp/sftp
- Google Cloude Services / Google Drive
- Dropbox
- Mega
- Amazon
ורבים וטובים אחרים.
מעבר לפשטות הגיבוי הוא גם מוצפן בהצפנה חזקה ומאפשר שחזור של קובץ בודד מתוך הגיבוי.
במדריך זה אסביר איך ניתן לקבוע Backup set שישמש לגיבוי ההגדרות של Home-Assistant ישירות ל Google Drive, אך לפני שנתחיל אנא וודאו שהתקנתם את Duplicati על פי המאמר הבא או באחת הדרכים הנוספות כפי שניתן למצוא כאן.
שלב א' – יצירת Backup Set
בשלב זה ניצור Backup Set אשר יבצע גיבוי של קבתי ההגדרות לענן.
אם אתם משתמשים ב duplicati על גבי docker-compose יש לוודא כי ביצעתם mout לתיקיית ההגדרות של home-assistant כ persistent volume על ידי הוספת השורה הבאה לקובץ ה docker-compose.yaml תחת המקטע של volumes:
- /home/homeassistant/.homeassistant:/hass
בצורה כזו, בתוך duplicti תתווסף תיקיה בשם hass אשר תמופה לאותו נתיב בו נמצאים קבתי ההגדרה של Home-Assistant.
כעת הריצו את הפקודה הבאה על מנת שהקונטיינר של duplicati יתעדכן:
docker-compose -f ~/docker/duplicati.docker-compose.yaml up -d
בתמונה הבאה תוכלו לראות שההגדרות של הקונטיינר התעדכנו:
כעת, פתחו את הדפדפן והכנסו לממשק המערכת, פורט ברירת המחדל הוא 8200. המסך הראשון בו תתקלו הוא המסך הראשי של התוכנה ממנו נוכל לנווט בין האפשרויות השונות:
כאן נבחר באופציה של Add Backup, נסמן את האופציה של Configure a new backup ונלחץ על next:
בשלב הבא נתבקש להגדיר הגדרות כלליות לגיבוי:
- שם לגיבוי, לדוגמה "Home Assistant".
- תיאור קצר.
- שיטת הצפנה.
- passphrase שישמש להצפנת קובץ הגיבוי.
ונלחץ על Next.
ניתן לבצע גיבוי גם ללא הצפנה, המשמעות שיהיה ניתן לפתוח את קובץ הגיבוי בצורה פשוטה גם מחוץ ל Duplicati:
במסך הבא נגדיר את התקן היעד לשמירת הגיבוי (במקרה שלנו Google Drive):
- Storage Type – סוג ההתקן אליו נגבה.
- שם התיקייה שתכיל את קבצי הגיבוי (במקרה שלנו תיווצר תיקייה בשם Hass בתוך Google Drive)
- AuthID – משמש לביצוע אימות מול גוגל.
לחצו על הקישור של AuthID ועקבו אחרי שלבי האימות, בסופם יתווסף קוד האימות לשדה באופן אוטומטי:
ונלחץ על Next לעבור לשלב הבא, בו נבחר את התיקיות והקבצים אותם נרצה לגבות. במקרה שלנו את התיקייה של Home-Assistant:
ניתן להשתמש בפילטרים והחרגות למניעת גיבוי קבצים מיותרים כמו קבצי לוג למשל.
במסך הבא נוכל להגדיר את התזמון לביצוע הגיבוי, כאשר הזמנים יכולים לנוע בין דקות לשנים וכן את הימים בשבוע בהם יתבצע הגיבוי. בכל מקרה את הגיבוי ניתן יהיה להריץ בצורה ידנית.
בלחיצה על Next נעבור למסך ההגדרות הכלליות של הגיבוי:
- Remote volume size – אופציה זו אינה קשורה לגודל קובץ הגיבוי. לפני ביצוע שינוי, מומלץ לקרוא את ההסבר שכתוב בקישור זה.
- Backup retention – מגדיר את מדיניות שמירת הגיבויים, כאשר ברירת המחדל היא לשמור את כולם.
- Advanced Options – מאפשר לבצע מגוון רחב של פעולם לפני ואחרי הגיבוי, כמו למשל הרצת סקריפט לגיבוי DB לקובץ לפני תחילת הגיבוי על מנת שיכלל בקבצים המגובים.
ולסיום נלחץ על Save על מנת לשמור את ההגדרות.
כעת נוכל לראות בדף הבית של המערכת כי נוסף Backup Set לרשימה, וכן מה הגיבוי הבא ומתי הוא אמור לרוץ:
לחיצה על שם ה Backup Set תרחיב אותו ותציג בפנינו אפשרויות נוספות כמו מחיקה, הרצה ידנית, שינוי הגדרות, ביצוע שחזור ועוד:
זהו, כאן נסתיימו הגדרות הגיבוי. כעת אסביר כיצד לשחזר.
שלב ב' – שחזור מגיבוי:
כאשר ניכנס למערכת ונרחיב את ה Backup Set שיצרנו (לאחר שכבר בוצע גיבוי) נוכל לשים לב כי נוספה בתחתית שורה שמציינת את מספר גרסאות הגיבוי שנוצרו:
וכאשר נלחץ על "Restore Files", נוכל לבחור את גרסאת הגיבוי ממנה נרצה לשחזר:
לאחר בחירת הגרסה נוכל לבחור האם לשחזר את כלל הקבצים או קבצים ספציפיים אותם נרצה לשחזר, ונלחץ על Continue:
בחלק הבא, נוכל לבחור בהגדרות מתקדמות עבור השחזור:
- לאן נרצה לשחזר: למיקום המקורי או למיקום חלופי (טוב במקרה שנרצה להשוות בין 2 גרסאות ולקחת רק חלק מהקובץ)
- האם נרצה להחליף את הקובץ הקיים (במידה ושחזרנו לאותו מקום) או האם לשחזר כקובץ באותו שם בתוספת חותמת זמן.
- הרשאות: האם לזחר את הקובץ עם ההרשאות המקוריות שלו.
ונלחץ על Restore לביצוע השחזור.
בהצלחה!
Leave a Reply