ابدأ الآن

كيف تنسخ حاوية Docker لـInfluxDB احتياطيًا (2026)

الطريقة الصحيحة لنسخ حاوية InfluxDB هي تفريغ منطقي لا نسخ ملفات. نفّذ `influx backup /backup/influx # (v2; v1 uses influxd backup -portable /backup)` داخل الحاوية وانسخ مخرجاته. نسخ /var/lib/influxdb2 بينما يكتب influx ينتج لقطة غير متسقة؛ يجمّد أمر النسخ شظايا TSM والبيانات الوصفية عبر المحرك: لن يترك لك الضغط الخلفي نسخة قرص ممزقة أبدًا.

الاكتشاف

ما يكتشفه Dockstash

متغيرات البيئة المكتشفةDOCKER_INFLUXDB_INIT_USERNAME, DOCKER_INFLUXDB_INIT_PASSWORD, DOCKER_INFLUXDB_INIT_ORG, INFLUXDB_HTTP_AUTH_ENABLED
المنفذ الافتراضي8086
مسارات البيانات الحية (لا تُنسخ حية أبدًا)/var/lib/influxdb2, /var/lib/influxdb
أمثلة الصورinfluxdb:2.7, influxdb:2, influxdb:1.8, influxdb
خطوة بخطوة

انسخ InfluxDB مع Dockstash خطوة بخطوة

  1. أنشئ حساب Dockstash وافتح لوحة التحكم

    سجّل مجانًا على app.dockstash.com/register. يسألك معالج الإعداد لمرة واحدة عن خادم التخزين VPS (الجهاز الذي سيحتفظ بالنسخ الاحتياطية المشفّرة) ويولّد كلمة مرور تشفير — احفظها فورًا في مدير كلمات مرور، فهي تُعرض مرة واحدة فقط.

  2. أضف مشروع Docker الذي يشغّل InfluxDB

    في شاشة Projects يكتشف Dockstash تلقائيًا كل مجلد مشروع Compose على الخادم (افتراضيًا تحت /var/www). اختر المشروع الذي يحتوي خدمة InfluxDB. لم يُنسخ شيء بعد — أنت فقط تخبر Dockstash أين يقيم المشروع.

  3. تحقق من اكتشاف InfluxDB

    افتح المشروع وتبويب Plan. يقرأ Dockstash ملف docker-compose.yml ويتعرف على صورة influxdb وإصدارها الرئيسي ويضيف طبقة بأمر النسخ الصحيح — influx backup للإصدار 2 وinfluxd backup -portable للإصدار 1 — مع اسم الحاوية والمتغيرات المكتشفة (DOCKER_INFLUXDB_INIT_USERNAME وDOCKER_INFLUXDB_INIT_PASSWORD وDOCKER_INFLUXDB_INIT_ORG). فعّل أو عطّل الملفات والقواعد وإعدادات الوكيل قبل الحفظ.

  4. اختياري: تحقق من أمر النسخ يدويًا

    إن أردت دليلًا قبل الأتمتة، نفّذ influx backup إلى مسار مؤقت داخل الحاوية. ستراه يكتب ملفات الشظايا والبيانات الوصفية وهو يلتقط كل دلو عبر واجهة HTTP — هذه اللقطة المنسقة بالمحرك هي ما يُنسخ، لا دليل TSM الحي أبدًا.

    docker exec <influxdb-container> influx backup /tmp/influx-test
  5. أكّد وجهة التخزين

    تُخزَّن النسخ كلقطات restic مشفّرة على خادم التخزين VPS الخاص بك عبر SSH. إن أكملت معالج الإعداد فهي مهيّأة بالفعل؛ ويمكنك تغيير المضيف والمستخدم والمنفذ ومفتاح SSH في أي وقت من Settings → Storage.

  6. اضبط جدول النسخ الاحتياطي

    في تبويب Schedule اختر يوميًا أو أسبوعيًا أو cron مخصصًا (يُتحقق أثناء الكتابة). بيانات السلاسل الزمنية تتراكم بسرعة: اليومي هو الافتراضي الصحيح — والساعي للمقاييس الحرجة. أضف prune أسبوعيًا مع سياسة الاحتفاظ.

  7. شغّل أول نسخة احتياطية الآن

    انقر Backup Now. ينفّذ Dockstash الأمر الصحيح للإصدار داخل الحاوية — influx backup عبر واجهة HTTP في v2 وinfluxd backup -portable في v1 — ويدفق اللقطة مباشرة إلى restic. تابع المخرجات في لوحة السجلات.

  8. تأكد من وجود اللقطة

    عند انتهاء التشغيل تعرض بطاقة المشروع وقت آخر نسخة وعدد اللقطات وحجم المستودع. افتح شاشة Snapshots وسترى نقطة الاستعادة في الخط الزمني — هذا دليلك على وصول النسخة إلى موقعها الخارجي.

الأوامر

أمر التفريغ

influx backup /backup/influx # (v2; v1 uses influxd backup -portable /backup)

أمر الاستعادة

influx restore /backup/influx # (v1 uses influxd restore -portable /backup)

يجمّد أمر النسخ شظايا TSM والبيانات الوصفية عبر المحرك: لن يترك لك الضغط الخلفي نسخة قرص ممزقة أبدًا.

الاستعادة والتحقق

استعد نسخة InfluxDB وأثبت أنها تعمل

نسخة InfluxDB لا تصبح حقيقية إلا بعد استعادتها. استعادات Dockstash لا تكتب فوق سلاسلك الزمنية الحية افتراضيًا — إلى موقع جديد أولًا، فحص الدلاء، ثم ترقية واعية.

  1. اختر نقطة استعادة

    افتح Snapshots واختر المشروع وتصفح الخط الزمني. كل صف لقطة متسقة على مستوى المحرك لشظايا TSM والبيانات الوصفية — الدلاء وسياسات الاحتفاظ والمستخدمون — مع ملفات المشروع من التشغيل نفسه.

  2. استعد إلى موقع جديد

    انقر Restore وأبقِ الوضع الافتراضي «Restore to new location». اكتب اسم المشروع للتأكيد — إجراء متعمّد بتأكيد مكتوب. يهبط التفريغ والملفات في المسار الهدف الذي تختاره دون المساس بالمشروع الحي.

  3. تحقق من البيانات المستعادة

    حمّل النسخة في حاوية InfluxDB تجريبية بـinflux restore (أو influxd restore -portable في v1) ثم اسرد الدلاء. يجب أن يظهر كل دلو متوقع بسياسة احتفاظه؛ واستعلام سريع على نطاق زمني حديث يؤكد وصول أحدث النقاط.

    docker exec <influxdb-container> influx bucket list
  4. رقِّ النتيجة عند الاقتناع

    بعد التحقق من البيانات المستعادة وجّه تطبيقك إليها (أو أعد الاستعادة بوضع «Overwrite existing» — موافقة صريحة). الأفضل: دع تدريب الاستعادة الأسبوعي ينتج هذا الدليل تلقائيًا كي لا تكون الاستعادة الحقيقية أول بروفة لك.

المطبات

مطبات يجب تجنبها

  • لا تشغّل restic أبدًا على دليل TSM/WAL الحي — تُضغط الشظايا في الخلفية والنسخ الخام غير متسق.
  • يستخدم InfluxDB v2 الأمر `influx backup` (واجهة HTTP + رمز)؛ وv1 يستخدم `influxd backup -portable`. يكتشف Dockstash الإصدار الرئيسي.
  • تحتاج نسخ v2 رمز مشغّل بصلاحية قراءة؛ وبدونه يُرفض النداء.
استكشاف الأخطاء

مشكلات شائعة في نسخ InfluxDB

العرض
يفشل أمر النسخ بـ«unknown command» أو خيارات غير معروفة.
السبب
سطرا الأوامر في v1 وv2 مختلفان تمامًا: v2 يستخدم influx backup عبر واجهة HTTP وv1 يستخدم influxd backup -portable. أمر جيل ضد الآخر يفشل فورًا — شائع بعد ترقية وسم الصورة.
العلاج
افحص الإصدار الرئيسي للحاوية (influxd version) واستخدم الأمر المطابق. يكتشف Dockstash الإصدار من الصورة ويختار الصحيح تلقائيًا؛ أعد الاكتشاف في تبويب Plan بعد الترقية.
العرض
يفشل influx backup بـ«unauthorized» أو 401 من الواجهة.
السبب
تمر نسخ v2 عبر واجهة HTTP وتتطلب رمز مشغّل (all-access). رمز قراءة عادي — أو لا رمز مع تفعيل المصادقة — لا يكفي.
العلاج
وفّر رمز مشغّل بصلاحية قراءة الدلاء. إن استخدمت متغيرات DOCKER_INFLUXDB_INIT_* فرمز مدير التهيئة يفي؛ وإلا أنشئ واحدًا بـinflux auth create --all-access وأضفه إلى بيانات اعتماد الخطة.
العرض
نسخة مأخوذة بنسخ /var/lib/influxdb2 لا تقلع، أو الاستعلامات تعيد بيانات ناقصة.
السبب
يضغط InfluxDB شظايا TSM في الخلفية. النسخ الخام للدليل الحي يمسك شظايا في منتصف الضغط — بعض الملفات قبله وبعضها بعده — فينتج مخزن ممزق غير متسق.
العلاج
لا تنسخ دليل البيانات الحي أبدًا. استخدم أمر النسخ في المحرك الذي يلتقط الشظايا والبيانات الوصفية باتساق — وهو ما ينفّذه Dockstash. النسخة الخام الممزقة غالبًا لا تُنقذ؛ استعد من نسخة حقيقية.

أنجزه بنقرة واحدة مع Dockstash

ينفّذ Dockstash التفريغ أعلاه بالضبط ويسلّمه إلى restic خارجيًا ويختبر الاستعادة بتدريب تلقائيًا — بلا سكربت تصونه.

آخر تحديث: July 2026

الأسئلة الشائعة

أي أمر ينسخ InfluxDB صحيحًا؟

للإصدار 2: `influx backup` عبر واجهة HTTP برمز مشغّل. وللإصدار 1: `influxd backup -portable`. كلاهما يلتقط شظايا TSM والبيانات الوصفية باتساق. يكتشف Dockstash الإصدار ويشغّل الصحيح.

هل يمكن نسخ ملفات الشظايا مباشرة؟

لا. يضغط InfluxDB شظايا TSM في الخلفية: نسخة الدليل الحي غير متسقة. استخدم أمر النسخ الذي ينسّق لقطة متسقة عبر المحرك.

أي رمز تحتاجه نسخة v2؟

رمز مشغّل (all-access) بصلاحية قراءة الدلاء. يكتشف Dockstash متغيرات رمز التهيئة؛ ووفر رمزًا مع تفعيل المصادقة.

كيف أستعيد نسخة سلاسل زمنية؟

استخدم `influx restore` (v2) أو `influxd restore -portable` (v1) على نسخة جديدة. يستعيد Dockstash أولًا إلى نسخة staging قبل أي كتابة فوقية.

كم مرة يجب نسخ InfluxDB؟

اليومي يناسب معظم أحمال المقاييس؛ والساعي إن كان فقد ساعة نقاط مؤلمًا. في Free النسخ يدوي Backup Now؛ Pro حتى الساعي وBusiness أي cron. اقرنه بتدريب أسبوعي.

هل يحجب النسخ الكتابة في InfluxDB؟

لا. يلتقط أمر النسخ الشظايا عبر المحرك والخادم يستقبل الكتابة — يستمر عمل المجمّعات ولوحات القياس أثناء النسخ.

أين تعيش النسخ الاحتياطية فعليًا؟

على خادم التخزين VPS الخاص بك، كلقطات restic مشفّرة تُدفع عبر SSH. لا يحتفظ Dockstash ببياناتك أبدًا على سحابة طرف ثالث — أنت توجّهه إلى جهاز تتحكم فيه، والمستودع مشفّر بكلمة مرور لا يملكها سواك.

كيف أعرف أن النسخة قابلة للاستعادة دون استعادة يدوية؟

جدوِل تدريب استعادة. يستعيد Dockstash أحدث لقطة إلى مساحة عمل معزولة، ويقارن كل ملف بايتًا ببايت مع المصدر، ويتحقق من التفريغ المستعاد — ثم يختم المشروع بشارة نجاح/فشل. تدريب أسبوعي يعني دليلًا طازجًا دائمًا.