انتقل في الواجهة الأمامية للمساعد المنزلي إلى الإعدادات -> الوظائف الإضافية -> متجر الوظيفة الإضافية (أسفل اليمين) .
انقر فوق قائمة 3-DOTS في أعلى اليمين ... > المستودعات وأضف عنوان URL لهذا المستودع: https://github.com/sabeeshen/hassio-google-drive-backup
إعادة تحميل الصفحة ، ثم قم بالتمرير إلى الأسفل للعثور على المستودع الجديد ، وانقر فوق الإضافة الجديدة المسماة "Home Assistant Google Drive Backup":
ملاحظة: يقوم Home Assistant بتحميل المستودع في الخلفية ولن يظهر العنصر الجديد تلقائيًا دائمًا. قد تحتاج إلى الانتظار بضع ثوان ثم "إعادة صياغة" الصفحة حتى تظهر. في معظم المتصفح ، اختصار لوحة المفاتيح لهذا هو Ctrl+F5. إذا لم يظهر لم يظهر ، فقم بمسح ذاكرة التخزين المؤقت للمتصفح وينبغي ذلك.
انقر فوق تثبيت واعطه بضع دقائق لإنهاء التنزيل.
انقر فوق "ابدأ" ، واعطها بضع ثوان لتدور ، ثم انقر فوق زر Open Web UI
يظهر.
ستخبرك صفحة "البدء" عدد النسخ الاحتياطية التي ستفعلها وماذا ستفعل معها بمجرد توصيلها بمحرك Google. يمكنك النقر فوق Settings
لتغيير هذه الخيارات من خلال الوظيفة الإضافية (وهي الطريقة الموصى بها ، فإنها تسري على الفور) ، أو تحديثها من الصفحة التي قمت فيها بتثبيت الوظيفة الإضافية كما هو موضح أدناه (تعمل أيضًا ، إعادة التشغيل لها ينفذ).
انقر فوق الزر Authenticate with Drive
لربط الوظيفة الإضافية بحساب محرك Google. بدلاً من ذلك ، يمكنك إنشاء بيانات اعتماد Google API الخاصة بك ، على الرغم من أن العملية ليست بسيطة.
يجب إعادة توجيهك تلقائيًا إلى صفحة حالة النسخ الاحتياطي. يمكنك هنا إجراء نسخ احتياطية جديدة ، ومعرفة تقدم التحميل إلى Google Drive ، وما إلى ذلك. لقد انتهيت!
بعد بدء التشغيل ، لديك فرصة لمراجعة الإعدادات الخاصة بك داخل Web-UI للملحق قبل توصيلها بـ Google Drive. يوصى بتعديل الإعداد بهذه الطريقة لأن واجهة المستخدم تجعله سهلاً ويشرح ما يفعله كل خيار.
إذا كنت لا تزال تفضل استخدام تحرير الإعداد الخاص بك في YAML أو من خلال المشرف ، فإن قائمة الخيارات القابلة للتكوين مع تفسيرات متاحة هنا.
على الأرجح ، نعم. يركز هذا الملحق على جعل النسخ الاحتياطي بسيطًا وموثوقًا وسهل الفهم ودعمه جيدًا. يوفر رسائل خطأ واضحة عندما تسوء الأمور ويشرح كيفية إصلاحها. إنه يحتوي على واجهة ويب فاخرة ، يمكنك أن نرى كيف تسير الأمور. للقيام بذلك ، تخصيص التخصيص. لا يمكن:
إذا كنت تريد استراتيجية احتياطية مخصصة للغاية لاحتياجاتك ، فقد تكون أفضل من اختراق شيء ما مع الأتمتة و Samba Addon ، على سبيل المثال. بدأ هذا المشروع وأنا أفعل ذلك بالضبط بنفسي ، والآن نمت إلى مشروع ناضج مع حوالي 100 ألف شخص يستخدمونه في جميع أنحاء العالم. غريب. لم أكن أعتقد مطلقًا أنني سأضغط على المجتمع لترجمة واجهة المستخدم إلى البرتغالية ، لكنني هنا أتعامل مع هذه الأنواع من المشاكل الآن.
يشتهر المساعد المنزلي بالفشل بصمت ، وأن نسخ النسخ الاحتياطية الخاصة بك ليست شيئًا تريد العثور عليه بعد فاصلة خاطئة تجعلك غير قادرة على تشغيل أي من الأضواء في منزلك. لهذا السبب أضفت بعض الوظائف لإبقائك على اطلاع إذا بدأت الأمور في الانهيار. إذا واجهت الوظيفة الإضافية مشكلة وتتخطى أكثر من 12 ساعة ، فستعرف بطريقتين:
الإخطارات في واجهة المستخدم المساعد
binary_sensor يمكنك استخدامه لإجراء إجراءات إضافية.
التكرار هو أساس الموثوقية. مع النسخ الاحتياطية المحلية ، والنسخ الاحتياطية لـ Google Drive ، ونكتين من الإخطار ، أعتقد أنك مغطى.
النسخ الاحتياطية التي ينشئها هذا الملحق هي نفس النسخ الاحتياطية التي يصنعها المساعد المنزلي بمفرده ويمكن استعادتها باستخدام أي من الأساليب الموثقة في مكان آخر. فيما يلي بعض المؤشرات لتبدأ.
تقوم الوظيفة الإضافية بإنشاء عدد قليل من المستشعرات التي تُظهر حالة النسخ الاحتياطية التي يمكنك تشغيل الأتمتة. يصبح binary_sensor.backups_stale
صحيحًا عندما تواجه الوظيفة الإضافية مشكلة في النسخ الاحتياطي أو إنشاء نسخ احتياطية. على سبيل المثال ، تظهر بطاقة Lovelace أدناه فقط في واجهة المستخدم عندما تنطلق النسخ الاحتياطية:
type : conditional
conditions :
- entity : binary_sensor.backups_stale
state_not : " off "
card :
type : markdown
content : >-
Backups are stale! Please visit the "Home Assistant Google Drive Backup" add-on
status page for details.
title : Stale Backups!`
إذا كان لديك Android أو iOS ، في إعداد إشعارات أخرى ، فإن هذه الأتمتة ستعلمك ما إذا كانت الأمور قديمة:
- alias : Backups went stale
id : ' backups_went_stale '
trigger :
- platform : state
entity_id : binary_sensor.backups_stale
from : ' off '
to : ' on '
condition : []
action :
- service : notify.android
data :
title : Backups are Stale
message : Please visit the 'Home Assistant Google Drive Backup ' add-on status page
for details.
يمكنك أتمتة أي شيء من هذا المستشعر الثنائي. تكشف الوظيفة الإضافية أيضًا عن مستشعر sensor.backup_state
الذي يكشف تفاصيل كل نسخة احتياطية. أنا أعمل على مكون Lovelace مخصص لفضح هذه المعلومات.
يمكنك إضافة "backup_time_of_day": "13:00"
إلى تكوين الإضافات الخاصة بك لجعل النسخ الاحتياطية تحدث دائمًا في الساعة 1 بعد الظهر. حدد الوقت بتنسيق 24 ساعة من "HH:MM"
. عندما لا تكون محددة ، سيتم إنشاء النسخ الاحتياطي التالي (تقريبًا) في نفس الوقت من اليوم مثل آخر نسخة.
هذه مجرد نظرة عامة على كيفية الحفاظ على النسخ الاحتياطية القديمة لفترة أطول. انظر هنا للحصول على تفسير أكثر تعمقا.
يمكن تكوين الوظيفة الإضافية للحفاظ على النسخ الاحتياطية للأجيال على فترات احتياطية يوميًا وأسبوعيًا وشهريًا وسنويًا بدلاً من مجرد حذف أقدم نسخة احتياطية. يمكن أن يكون هذا مفيدًا ، على سبيل المثال ، قمت بإجراء تغيير خاطئ ولكنك لم تلاحظ لعدة أيام وجميع النسخ الاحتياطية قبل اختفاء التغيير. مع إعداد التكوين مثل هذا ...
generational_days : 3
generational_weeks : 4
generational_months : 12
generational_years : 5
... سيتم الاحتفاظ بنسخة احتياطية خلال الأيام الثلاثة الماضية ، والأسابيع الأربعة الأخيرة ، والأشهر الـ 12 الماضية ، والسنوات الخمس الماضية. بالإضافة إلى ذلك ، يمكنك تكوين يوم الأسبوع ، ويوم الشهر ، ويوم العام الذي يتم الحفاظ على النسخ الاحتياطية الأسبوعية والشهرية والسنوية.
generational_days : 3
generational_weeks : 4
generational_day_of_week : " mon " # Can be 'mon', 'tue', 'wed', 'thu', 'fri', 'sat' or 'sun' (defaults to 'mon')
generational_months : 12
generational_day_of_month : 1 # Can be 1 through 31 (defaults to 1)
generational_years : 5
generational_day_of_year : 1 # can be 1 through 365 (defaults to 1)
days_between_backups: 1
" لضمان توفر نسخة احتياطية لكل يوم.max_backups_in_drive
مرتفعة بشكل مناسب للحفاظ على نسخ احتياطية كافية (24 في المثال أعلاه).max_backups_in_drive
أو max_backups_in_ha
إذا قمت بتعيين " days_between_backups: 0
" ، فلن تحاول الوظيفة الإضافية إنشاء نسخ احتياطية جديدة ولكن ستظل تقوم بتحميل أي شيء يتم العثور عليه إلى Google Drive وتنظيف النسخ الاحتياطية القديمة في كل من Home Assistant و Google Drive. قد يكون هذا مفيدًا إذا كان لديك بالفعل على سبيل المثال أتمتة تنشئ نسخ احتياطية في جدول.
يمكن تغيير خيار config backup_name
لإعطاء النسخ الاحتياطي اسمًا مختلفًا أو بتنسيق تاريخ لاختيارك. الافتراضي هو {type} Backup {year}-{month}-{day} {hr24}:{min}:{sec}
، الذي يجعل النسخ الاحتياطية تحمل اسمًا مثل Full Backup 2021-10-31 14:00:00
. باستخدام قائمة الإعدادات في واجهة المستخدم على الويب ، يمكنك رؤية معاينة لما سيبدو عليه اسم النسخ الاحتياطي ولكن يمكنك أيضًا تعيينه في خيارات الوظيفة الإضافية. فيما يلي قائمة المتغيرات التي يمكنك إضافتها لتعديل الاسم حسب رغبتك.
{type}
: نوع النسخ الاحتياطي ، إما "كامل" أو "جزئي"{year}
: سنة في شكل 4 أرقام (على سبيل المثال 2){year_short}
: سنة بتنسيق رقمين (eg 19){weekday}
: يوم طويل من الأسبوع (على سبيل المثال الاثنين ، ... ، الأحد){weekday_short}
: يوم قصير من الأسبوع (على سبيل المثال ، ... الشمس){month}
: شهري 2 رقم (على سبيل المثال 01 ، ... 12){month_long}
: اسم طويل الشهر (يناير ، ... ، ديسمبر){month_short}
: اسم طويل الشهر (يناير ، ... ، ديسمبر){ms}
: milliseconds (001 ، ... ، 999){day}
: يوم الشهر (01 ، ... ، 31){hr24}
: 2 ساعة من اليوم (0 ، ... ، 24){hr12}
: 2 ساعة من اليوم (0 ، ... ، 12){min}
: دقيقة 2 من الساعة (0 ، ... ، 59){sec}
: 2 رقم ثاني من الدقيقة (0 ، ... ، 59){ampm}
: AM أو PM ، اعتمادًا على الوقت من اليوم{version_ha}
، سلسلة إصدار Home Assistant (على سبيل المثال 0.91.3){version_hassos}
: سلسلة إصدار Hassos (على سبيل المثال 0.2.15){version_super}
: ، سلسلة إصدار المشرف (على سبيل المثال 1.2.19){date}
: تاريخ إدراك اللغة (على سبيل المثال 2023/01/01).{time}
: وقت إدراك موضعي (على سبيل المثال 02:03:04 صباحًا){datetime}
: سلسلة DateTim{isotime}
: التاريخ والوقت بتنسيق ISO{hostname}
: اسم مضيف آلة Home Assistantعلى الأرجح لا. لقد بدأت هذا المشروع لحل مشكلة محددة لدي ، حيث قمت بتخزين النسخ الاحتياطية في مزود سحابة زائدة عن الحاجة دون الحاجة إلى كتابة مجموعة من منطق العربات التي تجرها الدواب. قد يبدو الأمر وكأنه تغيير بسيط لجعل هذا العمل مع مزود سحابة آخر ، لكن ثق بي. لقد كتبت هذا الإصدار منه ، وهو ليس تغييرًا بسيطًا. ليس لدي الوقت للقيام بذلك.
ربما. يمكنك تشفير النسخ الاحتياطية الخاصة بك عن طريق إعطاء كلمة مرور في خيارات الوظيفة الإضافية.
في مسألة مبدأ ، أتابع فقط وتخزين المعلومات اللازمة للوظيفة الإضافية. على حد علمي ، نطاق هذا هو:
هذا يعني دائمًا أن لدي قدرة محدودة للغاية لمعرفة عدد الأشخاص الذين يستخدمون الوظيفة الإضافية أو إذا كان يعمل بشكل جيد. إذا كنت تحب ذلك ، فلا تتردد في تصوير رسالة بريد إلكتروني على [email protected] أو نجمة هذا الريبو على Github ، فهذا يساعد على إبقائي متحمسًا. إذا واجهت مشكلات أو فكرت في أن ميزة جديدة ستكون لطيفة ، فإن تقديم مشكلة على Github.
في أول صفحة "البدء" في الإضافة إلى أسفل زر "المصادقة مع Google Drive" هو رابط يتيح لك إدخال Client Id
الخاص بك Client Sercet
للمصادقة باستخدام Google Drive. يمكنك العودة إلى تلك الصفحة من خلال الانتقال إلى "الإجراءات" -> "إعادة تفويض Google Drive" من واجهة المستخدم على الويب الخاصة بالمواد الإضافية إذا كنت قد قمت بالفعل بتوصيلها سابقًا. يتم توفير التعليمات أيضًا لأولئك الذين ليسوا على دراية بهذه العملية ، إنه أمر مملة ، ولكنه يضمن أن اتصال الوظيفة الإضافية بينك وبين Google Drive فقط.
حدد "لا تقم بحذف" من القائمة بجوار نسخة احتياطية في واجهة المستخدم على الويب الخاصة بالمواد الإضافية. يمكنك اختيار منعه من حذفه في مساعد المنزل أو Google Drive. عند القيام بذلك ، لن يتم احتساب النسخ الاحتياطية مقابل الحد الأقصى لعدد النسخ الاحتياطية المسموح بها في Google Drive أو Home Assistant. بدلاً من ذلك ، يمكنك نقل نسخة احتياطية في Google Drive من مجلد النسخ الاحتياطي. ستتجاهل الوظيفة الإضافية أي ملفات ليست في مجلد النسخ الاحتياطي. فقط لا تحركهم مرة أخرى بطريق الخطأ لأنهم سيحصلون على "تنظيف" مثل أي نسخة احتياطية قديمة بعد فترة :)
إذا واجهت الوظيفة الإضافية في المتاعب ولم تتمكن من الاحتفال بالنسخ الاحتياطي ، فيجب أن ترى مربعًا أحمر كبيرًا بنص الخطأ على صفحة الويب الخاصة بالحالة. يجب أن يتضمن ذلك رابطًا للاضطراب مسبقًا مشكلة جديدة في Github ، والتي أشجعك على القيام بها. بالإضافة إلى ذلك ، يمكنك تعيين خيار التكوين الإضافي "verbose": true
للحصول على معلومات من سجلات الوظيفة الإضافية لمساعدتي في التصحيح.
ستحتاج إلى الحذر لضمان عدم تكوين هذا لتفجير محرك Google. قد ترغب في التفكير في:
purge_keep_days: N
في تكوين المسجل الخاص بك لتقليصه إلى شيء أكثر قابلية للإدارة ، مثل يوم واحد من التاريخ.هذا ليس سؤالًا ولكن يمكنك استخدام Google Drive Backup & Sync لتنزيل أي شيء في محرك Google إلى سطح المكتب/الكمبيوتر المحمول تلقائيًا.
ستحذف الوظيفة الإضافية فقط نسخة احتياطية قديمة إذا كانت هناك نسخة جديدة لاستبدالها ، لذلك ستنشئ نسخة خامسة قبل حذف الأول. هذا هو التسوية للموثوقية/استخدام القرص التي تفضل الموثوقية لأنه بخلاف ذلك ، يجب أن يحذف نسخة احتياطية قديمة (تاركًا 3 فقط) قبل أن تضمن وجود الرابع.
تستخدم الوظيفة الإضافية المشرف لإنشاء نسخ احتياطية ، ويسمح لك المشرف فقط بتضمين أو استبعاد المجلدات الرئيسية الخمسة (تكوين مساعد المنزل ، المشاركة ، SSL ، وسائل الإعلام ، والإضافات المحلية). استبعاد المجلدات الفرعية المحددة ، أو فقط بما في ذلك المجلدات الفرعية المحددة من النسخة الاحتياطية غير ممكن اليوم.
يستخدم Addon "المشرف" الخاص بمساعد المنزل لإنشاء وحذف النسخ الاحتياطية على جانب Asisstant. في حال كنت لا تعرف ، فإن المشرف هو شيء يعمل في الخلفية على مساعد المنزل ويدير أشياء مثل النسخ الاحتياطية ، والاتصالات بالأجهزة ، وإعداد البيئة التي يتمتع بها مساعد المنزل (مثل واجهة المستخدم) والإشارات. من هذا الكثير من الأخطاء التي تواجهها (مشاكل مع NAS ، والفساد HD ، وما إلى ذلك) تظهر فقط في سجلات المشرف. سجلات المشرف مخفية بشكل افتراضي ، لمشاهدتها:
تحافظ السجلات هناك على تاريخ قصير جدًا ، لذلك إذا كنت قد حدثت الكثير من الأخطاء/التحذيرات الأخرى (وهو أمر شائع) ، فقد تحتاج إلى التحقق من السجلات مباشرة بعد رؤية الأخطاء في الملحق.