تنزيل النسخ الاحتياطية
يحتفظ rdc backup download بنسخة من الصورة المشفرة للمستودع في دليل محلي أو على قرص خارجي. النسخة هي النص المشفر نفسه الموجود على الجهاز، ولذلك لا يُفك تشفير أي شيء في الطريق. تبقى بيانات الاعتماد التي تفتح الصورة في الإعدادات، ما يجعل التسجيل في config storage الطريقة المناسبة لحفظها بأمان. ومن دون بيانات الاعتماد لا يمكن فتح الصورة.
للتنزيل مصدران. الجهاز العامل هو المصدر الافتراضي. والمصدر الآخر هو مخزن النسخ الاحتياطية، ويُختار بالخيار --store.
التنزيل من جهاز
rdc backup download mail@prod --to /mnt/usb
يحدد --to دليلًا موجودًا وقابلًا للكتابة. لا يُنشأ الدليل أبدًا، ولذلك يجب تركيب القرص أولًا. تُوضع الصورة في <machine>/<name>.<tag>.img، ويظهر بجانبها ملف .state.json.
في كل تشغيل تُلتقط لقطة جديدة للمستودع لا تبقى إلا طوال مدة النقل، وتُرسل الفروقات عبر rsync، ثم يُقارن sha256 للنتيجة بلقطة الجهاز.
| الخيار | التأثير |
|---|---|
--all -m <machine> | نسخ كل مستودع grand موضوع على الجهاز |
--include-forks | مع --all، نسخ الـ forks أيضًا |
--bwlimit <rate> | تحديد سقف لعرض النطاق الترددي للشبكة، مثل 100Mbps أو 12.5M |
--checkpoint | إجراء checkpoint وتجميد المستودع قبل اللقطة (نسخ احتياطي ساخن) |
--retries <n> | عدد المحاولات داخل التشغيل بعد فشل الشبكة (الافتراضي 3) |
--skip-verify | تخطي مقارنة sha256؛ ويظل المجموع الاختباري الخاص بـ rsync يعمل |
--skip-space-check | التحذير بدل الرفض عندما قد لا تتوفر مساحة حرة كافية في الوجهة |
تحديث النسخة
يحدّث التشغيل الثاني الصورة الموجودة في مكانها بفروقات rsync. ولا يرسل التشغيل الأسبوعي سوى ما تغيّر، وتحتاج الوجهة إلى مساحة لنسخة واحدة من الصورة لا لنسختين. قبل بدء التشغيل تُقارن المساحة الحرة بحجم الصورة، ويحوّل --skip-space-check الرفض إلى تحذير.
التشغيلات المقطوعة والاستئناف
يسجل ملف الحالة القيمة status. تكون incomplete منذ ما قبل كتابة أول بايت حتى يجري التحقق من التشغيل، والصورة incomplete غير صالحة للاستخدام. يتركها Ctrl-C أو انقطاع الاتصال أو إنهاء العملية قسرًا على هذه الحال. وإعادة تشغيل الأمر نفسه تستأنف النقل، ولا تُرسل سوى الفروقات. ينتهي الأمر برمز الخروج 0 حين تصبح الحالة complete.
المتطلبات
يحتاج النقل إلى rsync بالإصدار 3.1.3 أو أحدث على هذا الحاسوب، ولا يوجد بديل احتياطي عبر SFTP. تأتي توزيعات Linux مزوّدة به. وفي macOS يحل brew install rsync محل openrsync المضمّن الذي لا يستطيع تنفيذ النقل. وفي Windows يُثبَّت MSYS2 مع حزمة rsync، أو يُستخدم تطبيق سطح المكتب.
الأقراص الخارجية
يحدد نظام ملفات الوجهة ما يمكن تخزينه.
- FAT32 لا يتسع لملف يتجاوز 4 GiB، ويرفض الأمر التشغيل.
- exFAT من دون دعم الملفات المتناثرة يخزّن الصورة بحجمها الظاهري الكامل، ولذلك يحتسب فحص المساحة الحرة هذا الحجم.
- لقطة النسخ عند الكتابة المأخوذة محليًا للوجهة (btrfs وZFS وAPFS) تحتفظ بالإصدارات السابقة من الصورة. وعندئذ يكلّف كل تحديث في المكان الكتل المتغيرة إضافةً إلى القديمة.
التنزيل من مخزن النسخ الاحتياطية
export REDIACC_TOKEN=<api-token>
rdc backup download mail --store --to /mnt/usb
يعيد --store بناء الصورة مباشرة من مخزن الكتل، دون أي جهاز. يحتاج الرمز في REDIACC_TOKEN إلى النطاقين backup:read وbackup:restore. لا يحمل تسجيل الدخول عبر CLI النطاق backup:restore أبدًا، ولذلك يُنشأ الرمز من صفحة API Tokens في البوابة. ويجب أن يتبع فريقًا وأن يكون قد أنشأه مالك أو مسؤول حالي في المؤسسة.
يقبل --store اسم مستودع واحدًا بالضبط. ولا يقبل -m ولا --checkpoint ولا --all ولا --include-forks ولا --bwlimit ولا --retries ولا --skip-verify ولا --skip-space-check: فالجلب من المخزن له استئنافه الخاص ويتحقق من كل كتلة.
تُكتب الصورة في <dir>/<name>.<tag>.img. ويحتفظ الجلب المقطوع بالنسخة الجزئية، ويستأنف الأمر نفسه منها.
اختيار لقطة بالخيار --at
تُجلب افتراضيًا أحدث لقطة. يختار --at <time|snapshot> لقطة أخرى، إما بوقت بصيغة ISO 8601 أو بمعرّف لقطة. ولا يسري إلا مع --store.
rdc backup download mail --store --to /mnt/usb --at 2026-10-01T00:00:00Z
على منصة غير Linux تكون الصورة المجلوبة مشفرة ولا يمكن فتحها محليًا. وتُرسل إلى جهاز Linux بالأمر rdc backup upload.
رفع نسخة إلى جهاز
rdc backup upload /mnt/usb/prod/mail.latest.img --to prod --as mail-copy --up
يرسل rdc backup upload صورة منزَّلة إلى جهاز ويسجلها مستودعًا جديدًا. يُستأنف النقل بعد انقطاعه، ويفحص الجهاز sha256 وترويسة LUKS قبل وضع الصورة. ويوفر ملف الحالة الموجود بجانب الصورة بيانات الاعتماد. وعند فقدان هذا الملف، يحدد --from-repo <name> المستودع الذي يوفرها.
| الخيار | التأثير |
|---|---|
--as <name> | اسم المستودع الجديد (الافتراضي: اسم الصورة) |
--datastore <name> | وضع الصورة على datastore مسمّى |
--from-repo <name> | توفير بيانات الاعتماد والنسب عندما يتعذر استخدام ملف الحالة |
--bwlimit <rate>, --retries <n> | مثل التنزيل |
--up | تشغيل المستودع بعد تسجيله |
--skip-verify | تخطي المقارنة مع sha256 المسجل عند التنزيل |
لقطات النقل القديمة
قد يترك النقل المنهى قسرًا لقطته على الجهاز. يحصي rdc machine status لقطات النقل القديمة في ملخص المجمّع، ويسردها rdc machine prune <machine> --dry-run. وتشغيل rdc machine prune <machine> يزيلها.
للاطلاع على اللقطات إلى تخزين الكتل، راجع النسخ الاحتياطي والاستعادة.