التحديثات والنسخ الاحتياطية
تخصّ هذه الصفحة التثبيتات على خادمك. تُشغَّل كل الأوامر من مجلد التثبيت.
النسخ الاحتياطي
أداتان تكمّل إحداهما الأخرى:
| نسخ التطبيق | سكربت النسخ على الخادم | |
|---|---|---|
| أين | إعدادات النظام ← النسخ الاحتياطية | مجلد التثبيت |
| متى | كل ليلة تلقائيًا، وعند الطلب | عند تشغيله أو جدولته |
| المحتوى | بيانات التسيير وملفات التطبيق | كل شيء: بيانات التسيير، حسابات المستخدمين، الملفات، الترخيص، الإعدادات |
| الاستعمال | استرجاع بيانات التسيير | إعادة بناء التثبيت أو نقله أو الاحتياط قبل أي تدخل |
نسخ التطبيق مشروحة في الإدارة. يتناول ما تبقى من هذا القسم سكربت الخادم، الذي يعمل والتطبيق قيد التشغيل: فهو يقرأ فقط.
- Linux
- Windows
sh scripts/backup-stack.sh [مجلد-الوجهة]
.\scripts\backup-stack.ps1
دون تحديد وجهة، يُنشئ مجلدًا باسم backup-<التاريخ>_<الوقت> يحتوي على:
- قاعدتي البيانات (التسيير والهويات)، في أرشيفات نسخ احتياطي؛
- البيانات الدائمة: المستندات المالية، الملفات المرفوعة، الترخيص وبيانات التطبيق؛
- نسخة من الإعدادات (
.env)؛ - بيانًا يصف التثبيت المنسوخ (الإصدار، المكوّنات).
النسخة الاحتياطية تحتوي على أسرار
تحتوي نسخة .env على كلمات مرور قواعد البيانات والمفاتيح التقنية. احفظ النسخ في
مكان محمي.
ممارسات جيدة
- جدوِل النسخ مرة يوميًا على الأقل:
cronعلى Linux، وجدولة المهام على Windows. - انسخها خارج الخادم. النسخة التي تبقى على القرص الذي تحميه تضيع معه.
- راقب مساحة القرص: النسخ والصور وقواعد البيانات تتقاسم القرص نفسه. احذف النسخ القديمة وفق سياسة الاحتفاظ لديك.
- جرّب الاستعادة من حين لآخر على جهاز آخر: لا تكون النسخة موثوقة إلا بعد استعادتها بنجاح.
التحديث
يُحدَّث Nadigit IMS بمثبّت الحزمة الجديدة، موجَّهًا إلى التثبيت القائم.
- فكّ ضغط الحزمة الجديدة بجانب التثبيت، وليس فوقه أبدًا.
- من مجلد الحزمة الجديدة، شغّل أولًا محاكاة تعرض ما سيتغيّر دون تعديل أي شيء:
- Linux
- Windows
./install.sh --upgrade /opt/nadigit-ims --dry-run
./install.sh --upgrade /opt/nadigit-ims
.\install.ps1 -Upgrade C:\nadigit-ims -DryRun
.\install.ps1 -Upgrade C:\nadigit-ims
- ثم شغّل التحديث الفعلي (الأمر الثاني).
ما يقوم به التحديث
- يرفض الرجوع إلى الوراء: تُرفض الحزمة الأقدم من الإصدار العامل.
- يحمّل صور الإصدار الجديد.
- ينسخ كل شيء احتياطيًا قبل لمس أي شيء: قواعد البيانات والبيانات الدائمة
والإعدادات، في
backups/pre-upgrade-<من>-to-<إلى>-<التاريخ>/. - يستبدل ملفات الحزمة مع الاحتفاظ بكل ملف مستبدَل، ويدمج الإعدادات: تُحفظ إجاباتك وأسرارك وإعداداتك، ولا يتغيّر إلا ما يعدّله الإصدار الجديد.
- يشغّل الإصدار الجديد وينتظر كل مكوّن. يُرحَّل مخطط قاعدة البيانات تلقائيًا عند التشغيل.
- يشغّل التشخيص الكامل.
تعرض كل خطوة معرّفًا من UPG-01 إلى UPG-07، مشروحًا في TROUBLESHOOTING.md
وفي استكشاف أخطاء التثبيت.
قاعدتان يجب احترامهما
- يبقى التثبيت في مجلده. جزء من البيانات مرتبط باسم المجلد، والترخيص مرتبط بمعرّف الخادم المحفوظ في تلك البيانات. نقل المجلد أو تغيير اسمه يجعل التطبيق يبدأ على بيانات فارغة.
- لا تتغيّر بيانات اعتماد قواعد البيانات أبدًا. تُحدَّد عند إنشاء القواعد، وتغييرها يدويًا يقطع التطبيق عن بياناته. يحتفظ التحديث بها.
الرجوع إلى الإصدار السابق
- فشل قبل تشغيل الإصدار الجديد: لم يتغيّر شيء في التطبيق العامل، وتُعاد الملفات المستبدَلة تلقائيًا.
- فشل بعد التشغيل: يعرض المثبّت الأوامر الدقيقة للعودة إلى الإصدار السابق.
وهي تستعيد الإعدادات والملفات المستبدَلة المحفوظة في
install/upgrade-<التاريخ>/previous/. - قاعدة بيانات رحّلها الإصدار الجديد: يرفض الإصدار السابق العمل على قاعدة
مُرحَّلة. يجب حينها استعادة القاعدتين من النسخة المأخوذة قبل التحديث؛ والإجراء
مشروح في
TROUBLESHOOTING.md(UPG-04). عند الشك، اتصل بدعم Nadigit قبل التصرّف.