
# اللقطات

تلتقط اللقطات نقطة استعادة للبيئة المعزولة.

```bash
wp rudel snapshot alpha-3be7 --name=before-test
```

استعد لقطة:

```bash
wp rudel restore alpha-3be7 --snapshot=before-test
```

يطلب `restore` التأكيد؛ أما `--force` فيتجاوز المطالبة. يمكن أن يصل طول اسم اللقطة إلى 64 حرفًا أو رقمًا أو نقطة أو شرطة أو شرطة سفلية، على أن يبدأ بحرف أو رقم.

اللقطات مخصصة لاستعادة البيئة المعزولة، لا لهوية وقت التشغيل. يظل سجل البيئة مصدر الحقيقة للبيئة المعزولة.

## ما الذي تلتقطه اللقطات

- كل جدول يحمل بادئة البيئة المعزولة، بما في ذلك المستخدمون، يُنسخ في قاعدة البيانات نفسها تحت `{sandbox_prefix}snap_{hash}_`، مثل `wp_b65338d_snap_3ba676_options`
- يُنسخ دليل قالب البيئة المعزولة إلى `snapshots/{name}/themes` داخل دليل البيئة المعزولة
- البيانات الوصفية في `snapshots/{name}/snapshot.json` و`snapshots/{name}/db_snapshot.json`

لذا تتطلب اللقطة نسخة كاملة من جداول البيئة المعزولة في قاعدة بيانات المضيف، بالإضافة إلى نسخة من ملفات القالب.

## ما الذي لا تلتقطه اللقطات

- نواة WordPress المضيف
- ملفات الإضافات المشتركة
- ملفات الرفع المشتركة

## الاستعادة

تؤدي الاستعادة إلى إسقاط جداول البيئة المعزولة (مع الإبقاء على جداول اللقطة)، ثم نسخ جداول اللقطة إليها، واستبدال دليل قالب البيئة المعزولة بالنسخة المحفوظة.

يحفظ Rudel الحالة الحالية أولًا افتراضيًا كلقطة باسم `pre-restore-{timestamp}-{hash}`، كي يمكن التراجع عن الاستعادة. عيّن `auto_snapshot_before_restore` إلى `0` في `rudel_config` لتعطيل ذلك.

## عرض اللقطات وإزالتها

لا يوجد أمر CLI لعرض اللقطات أو حذفها. من PHP، يعرضها `Rudel::snapshots( $id )` بدءًا بالأحدث. تُحذف جداول اللقطات عند إتلاف البيئة المعزولة؛ وحتى ذلك الحين تظل موجودة، بما في ذلك اللقطات التلقائية `pre-restore-*` ([المشكلة رقم 5](https://github.com/inline0/rudel/issues/5)).
