خطة بسيطة للنسخ الاحتياطي
2023-01-14
رغم استخدامي للحاسب الشخصي لفترة تتجاوز العشرين عامًا، قضيت أزيد من نصفها في الكتابة والإنتاج الشخصي ومن ثم العمل المهني بالكامل عن بعد، لم يكن لدي خطة للنسخ الاحتياطي - كحال الكثيرين. لا أذكر خلال هذه الفترة أنني فقدت أية ملفات في غاية الأهمية، لكن الخطورة قائمة وهامش الخسارة يزداد مع تراكم المزيد من البيانات على أجهزتي المختلفة.
في صيف 2018 انتقلتُ لاستخدام برنامج Syncthing لمزامنة بعض الملفات بين أجهزتي المختلفة (بدلًا من دروب بوكس)، وهذا شجعني على توسيع نطاق الملفات المشمولة بالمزامنة (بالنظر إلى التكلفة البالغة صفرًا وسرعة العملية). ولا زلتُ أرى أن Syncthing يمكنه أن يفي بغرض النسخ الاحتياطي في كثيرٍ من الأحيان. لكن لنقل أن جميع الأجهزة التي تجري المزامنة بينها تقع في المنزل، هذا يعني أن أية مخاطر قد تصيب المنزل، مثل السرقة أو الحريق قد يهدد كافة النسخ الاحتياطية.
في صيف 2021 قرأتُ عن خطة بسيطة لكنها فعالة للنسخ الاحتياطي، تسمى بخطة 3 - 2 - 1. وتقتضي أن تملك ثلاثة نسخ من بياناتك المهمة، واحدة منها هي النسخة التي تعمل عليها بشكل يومي ومباشر بالإضافة إلى نسختان احتياطيتان إحداهما خارج الموقع.
للبدء في تنفيذ هذه الخطة، قدّرت أولًا حجم البيانات التي أهتم بالاحتفاظ بها، وقدّرت معدّل نمو هذا الحجم، بحيث أشتري وسيط تخزين يمكنه تلبية احتياجاتي لخمس سنواتٍ من الآن. وقع اختياري على جهاز WD 2TB My Passport، فسعة تخزينه أكثر من كافية وحجمه صغير مما يسهل حمله ونقله.
لأتمتة العملية قمت بكتابة سكربت بسيط جدًا ينفذ سلسلة متعاقبة من أوامر المزامنة باستخدام الأداة rsync للمجلدات التي أرغب بمزامنتها مع قرص التخزين الخارجي. أدناه مقتبس من الملف
#!/usr/bin/env bash
rsync -avP --delete /mnt/myFiles/Docs/ /run/media/tareef/Ayyar/tareef/Docs
rsync -avP --delete /mnt/myFiles/Pictures/ /run/media/tareef/Ayyar/tareef/Pictures
الأداة rsync
تستخدم لنسخ الملفات بين موقعين بسرعة وتدعم عددًا واسعًا من الخيارات. الخيار a يفعّل وضع الأرشفة، والذي بدوره يفعّل مجموعة من الخيارات معًا. الخيار v يطبع ما تقوم به الأداة إلى الطرفية لتوضيح تفاصيل أية أخطاء أو مشاكل. الخيار P يظهر مقدار تقدم العملية. الخيار delete يحذف الملفات من الموقع الثاني والتي تم حذفها من الموقع الأول. بالطبع هذه الخيارات يتم انتقاؤها بشكل شخصي لتلبية نموذج النسخ الاحتياطي التي ترغب بالحصول عليه، راجع ملف التوثيق الخاص بالأداة للمزيد من التفاصيل.
السكربت بسيط إذن، يحتوي سطرًا لكل مجلد أرغب بنسخه إلى وسيط التخزين والذي يتم ربطه في المسار run/media/tareef/Ayyar/tareef تلقائيًا عند وصله إلى الحاسب. بعد ذلك كل ما يتوجب علي القيام به هو تشغيل هذا السكربت، ليتولى عملية النسخ.
ماذا عن نسخة الثانية؟
لم يتسنَ لي بناء نسخة ثانية للملفات خارج المنزل (على السحاب) إلا مؤخرًا. قمت باستئجار خدمة BX11 من Hetzner والتي تقدم 1T كسعة تخزين مقابل 4$ شهريًا. كل ما أحتجت إليه هو تفعيل دعم الوصول عبر SSH بحيث يمكنني استخدام الأداة rsync نفسها فقط مع تغيير المسار الثاني ليكون عنوان صندوق التخزين على السحاب.
ما تبقى هو جدولة تشغيل السكربت السابق، لنقل أسبوعيًا، لإجراء عملية المزامنة والتحديث. التشغيل الأول للسكربت سيستغرق وقتًا طويلًا بطبيعة الحال، لكن المزامنات اللاحقة ستكون سريعة وقصيرة.
لا يزال هناك عدّة أفكار مهمة لإضافتها إلى نظام النسخ الاحتياطي لزيادة آمان الملفات وفعالية العملية، لكنها بداية جيدة وتؤمن الحد الأدنى من المعايير.
مصدر الصورة البارزة.