[{"data":1,"prerenderedAt":90},["ShallowReactive",2],{"seo-verification":3,"marketplace-app-ar-backrest":6},{"google":4,"bing":5},"EycwPY2XMyTkVzas3n1ygeNJFGAH513qrMjfDljzsMQ","",{"slug":7,"name":8,"description":9,"phase":10,"docsUrl":11,"logo":12,"github":12,"tagline":13,"longDescription":14,"features":15,"useCases":25,"steps":38,"faq":54,"specs":73,"compatibleOs":81,"relatedApps":82,"relatedPosts":83,"category":84},"backrest","Backrest","واجهة ويب للنسخ الاحتياطي عبر restic: جدولة نسخ مشفّرة ومُزالة التكرار من خادمك VPS إلى S3 أو Backblaze B2 أو أي وجهة بعيدة، واستعادة ملف واحد ببضع نقرات.",1,"https:\u002F\u002Fservorbit.com\u002Fblog\u002Fself-host-backrest-vps",null,"نسخ احتياطي مشفّر ومُزال التكرار لخادمك VPS بواجهة ويب — قوة restic دون سطر الأوامر. حاوية واحدة، أقل من 100 ميغابايت من الذاكرة.","Backrest هو واجهة ويب ومنسّق مفتوح المصدر لأداة restic (نحو 7 آلاف نجمة على GitHub، رخصة GPL-3.0، الإصدار v1.14.1). restic هو محرك النسخ الاحتياطي المرجعي مفتوح المصدر — مشفّر من طرف إلى طرف، مُزال التكرار وتزايدي — لكنه أداة سطر أوامر، ما يعني مهام cron وسكريبتات shell وكثيرًا من الخيارات التي يجب تذكّرها. يغلّفه Backrest بواجهة في المتصفح: أنشئ المستودعات، وعرّف خطط النسخ بجدول زمني، وتصفّح اللقطات كشجرة ملفات، واستعد ملفات أو مجلدات كاملة، دون كتابة أي أمر restic.\n\nاستضافة Backrest ذاتيًا على خادم ServOrbit هي ما يحوّل الخادم إلى خادم يمكنك فعلًا أن تفقده. كل لقطة تُشفَّر محليًا قبل أن تغادر الجهاز، فلا ترى الوجهة بياناتك أبدًا بشكل مقروء — ويمكنك بأمان دفع النسخ إلى Backblaze B2 أو Amazon S3 أو Wasabi أو خادم SFTP أو أي من وجهات rclone العديدة التي يدعمها restic. وبفضل إزالة التكرار، تكلّف اللقطة الثانية لخادم بحجم 20 غيغابايت بضع مئات من الميغابايت عادةً، فيبقى الاحتفاظ بأشهر من التاريخ في المتناول.\n\nيعمل Backrest كملف تنفيذي واحد بلغة Go داخل حاوية واحدة بأقل من 100 ميغابايت من الذاكرة، بلا قاعدة بيانات وبلا أي اعتماد خارجي. وهو يتولّى الأعمال التشغيلية التي يتوقع restic أن تكتبها بنفسك: الجدولة بنمط cron، وسياسات الاحتفاظ (احتفظ بـ N يوميًا وأسبوعيًا وشهريًا)، وتشغيل `prune` و`check` تلقائيًا للحفاظ على سلامة المستودع، وخطافات تُنفَّذ عند النجاح أو الفشل — وجّه إحداها إلى موضوع ntfy لديك، فيصل إشعار الفشل إلى هاتفك بدل أن يموت بصمت في سجل.",[16,17,18,19,20,21,22,23,24],"واجهة ويب فوق restic — أنشئ المستودعات، وشغّل النسخ، وتصفّح اللقطات كشجرة ملفات، واستعد الملفات دون أي سطر أوامر.","تشفير من طرف إلى طرف: تُشفَّر كل لقطة محليًا قبل الرفع، فلا يحتفظ مزوّد التخزين ببيانات مقروءة أبدًا.","إزالة التكرار وتزايدي — تُرفع الكتل المتغيّرة فقط، فتكلّف أشهر من الاحتفاظ جزءًا يسيرًا من حجم المصدر.","أي وجهة يدعمها restic وكل وجهات rclone: Amazon S3 وBackblaze B2 وWasabi وMinIO وSFTP وAzure وGoogle Cloud Storage أو قرص محلي.","جدولة بنمط cron لكل خطة، مع سياسات احتفاظ (احتفظ بـ N ساعيًا \u002F يوميًا \u002F أسبوعيًا \u002F شهريًا \u002F سنويًا).","صيانة تلقائية للمستودع — `prune` مجدول لاستعادة المساحة و`check` لاكتشاف التلف قبل أن تحتاج إلى النسخة.","خطافات عند بدء النسخ ونجاحه وفشله — أرسل النتيجة إلى ntfy أو Discord أو Slack أو أي webhook، أو نفّذ أمرًا (مثل تفريغ قاعدة بيانات قبل اللقطة).","مستودعات وخطط متعددة جنبًا إلى جنب — انسخ ‎\u002Fhome‎ كل ساعة إلى B2 و‎\u002Fetc‎ يوميًا إلى قرص محلي من النسخة نفسها.","ملف تنفيذي واحد بلغة Go، أقل من 100 ميغابايت من الذاكرة، بلا قاعدة بيانات — وrestic هو الاعتماد الوحيد ويأتي ضمن الصورة.",[26,29,32,35],{"title":27,"body":28},"نسخ احتياطي خارج الموقع لخادم إنتاج","جدوِل لقطة ليلية مشفّرة لـ ‎\u002Fhome‎ و‎\u002Fetc‎ وبيانات تطبيقك إلى Backblaze B2 — بضعة يوروهات شهريًا مقابل أشهر من الاحتفاظ بفضل إزالة التكرار. ولأن التشفير يتم قبل الرفع، فمزوّد التخزين غير موثوق بالتصميم: اختراق الحاوية لا يسرّب شيئًا مقروءًا.",{"title":30,"body":31},"استعادة ملف واحد، لا الخادم كله","ملف إعدادات دُهس هذا الصباح، أو نسخة قاعدة بيانات حذفها سكريبت. تصفّح لقطة الأمس كشجرة ملفات في المتصفح، واختر الملف واستعده — دون استعادة كاملة ودون توقف ودون قراءة دليل restic تحت الضغط.",{"title":33,"body":34},"نسخ قواعد البيانات بشكل متّسق","استخدم خطافًا قبل النسخ لتشغيل `mysqldump` أو `pg_dump` إلى مجلد، ثم دع الخطة تأخذ لقطته. تحصل على نسخة متّسقة مع التطبيق بدل نسخ ملفات قاعدة بيانات قيد التشغيل، دون كتابة سلسلة cron خاصة بك.",{"title":36,"body":37},"نسخ احتياطي يخبرك حين يفشل","الفشل الكلاسيكي للنسخ الاحتياطي هو الصمت — مهمة توقّفت قبل ثلاثة أشهر ولم ينتبه أحد. وجّه خطاف الفشل إلى موضوع ntfy المستضاف ذاتيًا، فيصل الإشعار إلى هاتفك في الليلة نفسها، وتكتشف المشكلة قبل أن تكتشفها الاستعادة.",[39,42,45,48,51],{"title":40,"body":41},"اطلب خادم VPS من ServOrbit","أي باقة بذاكرة 1 غيغابايت تكفي وزيادة — يستهلك Backrest أقل من 100 ميغابايت في الخمول، والعبء الحقيقي على القرص لا على الذاكرة. ثبّته على الخادم الذي تريد حمايته فعلًا، لأنه ينسخ نظام ملفات ذلك الجهاز نفسه.",{"title":43,"body":44},"انشر Backrest من متجر ServOrbit","افتح لوحة تحكم ServOrbit ← المتجر ← Backrest ← تثبيت. يسحب التزويد الصورة، ويركّب ‎\u002Fhome‎ و‎\u002Froot‎ و‎\u002Fetc‎ للقراءة فقط داخل الحاوية، ويشغّلها على المنفذ 9898. لا حاجة إلى اسم نطاق — تستجيب الواجهة على عنوان IP الخاص بالخادم.",{"title":46,"body":47},"أنشئ حساب المدير","افتح ‎http:\u002F\u002Fyour-vps-ip:9898‎. عند التشغيل الأول يطلب منك Backrest إنشاء اسم مستخدم وكلمة مرور — لا توجد بيانات اعتماد افتراضية. افعل ذلك مباشرة بعد التثبيت، قبل فتح المنفذ لغير عنوانك.",{"title":49,"body":50},"أضف مستودعًا","اختر Add Repo وحدّد الوجهة والصق بيانات اعتمادها — في حالة Backblaze B2 هي اسم الحاوية ومفتاح تطبيق. اختر كلمة مرور قوية للمستودع واحفظها في مدير كلمات المرور: يشفّر restic بها، وبدونها تصبح النسخ غير قابلة للقراءة، حتى بالنسبة إليك.",{"title":52,"body":53},"أنشئ خطة وجدولها","اختر Add Plan، وحدّد المسارات المراد حمايتها (‎\u002Fhost\u002Fhome‎ و‎\u002Fhost\u002Fetc‎)، واضبط جدول cron وسياسة احتفاظ مثل 7 يومية و4 أسبوعية و6 شهرية. شغّلها يدويًا مرة للتأكد من اكتمالها، ثم دع الجدولة تتولّى الأمر — وأضف خطاف فشل لتسمع بالمشكلات.",[55,58,61,64,67,70],{"q":56,"a":57},"ما هو Backrest وكيف يختلف عن restic؟","restic هو محرك النسخ الاحتياطي — مشفّر ومُزال التكرار وتزايدي، ويُدار بالكامل من سطر الأوامر. أما Backrest فهو واجهة ويب ومجدوِل فوقه: المحرك نفسه وصيغة المستودع نفسها، لكن المستودعات والخطط والجدولة والاحتفاظ والاستعادة والصيانة تُدار في المتصفح بدل ملفات cron وسكريبتات shell. تبقى نسخك مستودعات restic عادية، فيمكنك دائمًا فتحها بأداة restic — لا يضيف Backrest أي احتكار.",{"q":59,"a":60},"أين يمكن لـ Backrest تخزين النسخ الاحتياطية؟","في أي مكان يدعمه restic، وهو يشمل كل وجهات rclone: Amazon S3 وBackblaze B2 وWasabi وMinIO وAzure Blob وGoogle Cloud Storage وSFTP\u002FSSH، أو قرص محلي أو مُركَّب عبر الشبكة. وBackblaze B2 هو الخيار المعتاد لخادم VPS — رخيص ومتوافق مع S3 وخارج نطاق أعطال خادمك، وهو جوهر فكرة النسخ خارج الموقع.",{"q":62,"a":63},"هل النسخة مشفّرة، ومن يملك المفتاح؟","نعم، وأنت تملكه. يشفّر restic كل لقطة محليًا على الخادم قبل رفع أي شيء — لا يستقبل مزوّد التخزين سوى كتل مبهمة. وكلمة مرور المستودع هي المفتاح. احفظها في مدير كلمات المرور: إن فقدتها تصبح النسخ غير قابلة للاسترجاع رياضيًا، ولا يستطيع ServOrbit ولا مزوّد التخزين إعادة الوصول إليها.",{"q":65,"a":66},"كم يحتاج Backrest من مساحة القرص والذاكرة؟","الحاوية نفسها صغيرة — أقل من 100 ميغابايت من الذاكرة في الخمول وبضع مئات من الميغابايت للصورة والذاكرة المؤقتة. التكلفة الحقيقية عند الوجهة، وإزالة التكرار تجعلها معتدلة: بعد اللقطة الكاملة الأولى، ترفع التشغيلات التالية الكتل المتغيّرة فقط عادةً، فيبقى خادم بحجم 20 غيغابايت مع أشهر من الاحتفاظ اليومي في حدود عشرات الغيغابايتات.",{"q":68,"a":69},"هل يستطيع Backrest نسخ ملفات خارج حاويته؟","ينسخ ما يُركَّب داخله. تركّب وصفة ServOrbit المسارات ‎\u002Fhome‎ و‎\u002Froot‎ و‎\u002Fetc‎ من المضيف للقراءة فقط تحت ‎\u002Fhost‎، وهو ما يغطي بيانات المستخدمين وإعدادات النظام على خادم VPS نموذجي. ولحماية مسارات أخرى — مجلد بيانات أو وحدة تخزين Docker — أضف التركيب المقابل للقراءة فقط إلى ملف compose فيظهر في منتقي المسارات داخل الخطة.",{"q":71,"a":72},"كيف أتأكد أن النسخة الاحتياطية عملت فعلًا؟","يعرض Backrest حالة كل خطة وتاريخها في الواجهة، ويشغّل عمليات `check` مجدولة تتحقق من سلامة المستودع بدل الاكتفاء بالإبلاغ عن بدء المهمة. وللتنبيه الفعلي، اضبط خطافًا عند الفشل يشير إلى webhook — وموضوع ntfy مستضاف ذاتيًا يفي بالغرض ويضع الفشل على هاتفك في الليلة نفسها، وهكذا تتجنّب اكتشاف مهمة معطّلة منذ ثلاثة أشهر أثناء محاولة استعادة.",{"ram":74,"cpu":75,"stack":76,"port":80},"1 غيغابايت","1 vCPU",[77,78,79],"Docker","Go","restic","9898",[],[],[],{"key":85,"slug":85,"name":86,"objective":87,"icon":88,"color":89},"deploiement","نشر التطبيقات وDevOps","نشر وإدارة التطبيقات الحديثة.","deploy","text-success bg-success\u002F10",1785714050105]