حساب تخزين النسخ الاحتياطية حسب مدة الاحتفاظ
تحوّل هذه الحاسبة حجم النسخ الاحتياطي اليومي ومدة الاحتفاظ إلى تقدير عملي للسعة المطلوبة.
شغّل الأداة مجانًا
ويمكنكم إضافة نسبة اختيارية لإزالة التكرار لمقارنة النمو المنطقي بالمساحة المادية المتوقع استهلاكها. تعرض النتيجة السعة الخام، والحجم المخزن المقدر، والتيرابايت، والتوفير. وهذا تقدير حتمي لأغراض التخطيط؛ فهو لا يفحص نظام النسخ الاحتياطي لديكم ولا يفترض ضمنيًا وجود ضغط أو معدل تغيّر أو سعة احتياطية أو نسخ متماثل أو أعباء تشغيلية.
ابدؤوا بحجم يومي يستند إلى قياس موثوق
أدخلوا كمية بيانات النسخ الاحتياطي التي تُنشأ في يوم عادي بوحدة الغيغابايت. تضرب الحاسبة هذا الرقم في عدد نقاط الاستعادة اليومية المحتفظ بها، ولذلك تعتمد جودة النتيجة على دقة هذه القيمة. في سياسة النسخ الكامل، استخدموا الحجم المعتاد لنسخة كاملة واحدة. أما في النسخ التزايدي، فاستخدموا متوسط البيانات الجديدة المخزنة لكل نقطة يومية، لا الحجم الإجمالي للمصدر المحمي. قد تخفي فترة القياس القصيرة صادرات نهاية الشهر أو صيانة قواعد البيانات أو الذروات الموسمية؛ لذا اختاروا متوسطًا ممثلًا أو يومًا ذا قيمة مئينية مرتفعة عندما تكون مخاطر نفاد السعة أهم من المتوسط. يمكن إدخال 0 لمحاكاة عبء فارغ، لكن لا تقبل القيم السالبة أو غير الرقمية. حافظوا على جميع القيم بوحدة الغيغابايت العشرية؛ فالتحويل إلى التيرابايت يستخدم أيضًا 1,000 غيغابايت لكل تيرابايت. تمنع هذه القاعدة خلط وحدات السعة الثنائية والعشرية دون انتباه وتشويه حسابات الشراء.
طبّقوا مدة الاحتفاظ وإزالة التكرار بصورة صحيحة
تمثل أيام الاحتفاظ عدد مجموعات النسخ اليومية المحفوظة في الوقت نفسه، ويجب أن تكون عددًا صحيحًا موجبًا. لذلك تمثل القيمة 30 ثلاثين نقطة استعادة يومية، لا شهرًا تقويميًا مع نسخة حالية إضافية. يساوي التقدير الخام الحجم اليومي مضروبًا في عدد الأيام. تُدخل إزالة التكرار على شكل عامل نسبة: استخدموا 1 عند عدم وجود تخفيض، و2 للنسبة 2:1، و4 للنسبة 4:1، وهكذا. تساوي السعة المادية المقدرة الحجم الخام مقسومًا على ذلك العامل. يمنع هذا التعريف الخلط بين النسبة المئوية وعامل النسبة؛ فالنسبة 4:1 تعني بقاء ربع الحجم الخام، أي توفيرًا قدره 75 بالمئة. استخدموا نسبة تؤيدها قياسات لأعباء مماثلة. قد تحقق البيانات المشفرة أو المضغوطة أو السريعة التغير نتائج ضعيفة، بينما قد تحقق صور الأجهزة الافتراضية المتكررة نتائج أفضل. وعند ضعف الأدلة، احسبوا عدة سيناريوهات واعتمدوا أدنى نسبة معقولة بوصفها الحالة الأكثر تحفظًا.
حوّلوا التقدير إلى خطة فعلية للسعة
تفصل النتيجة بين التخزين الخام والتقدير بعد إزالة التكرار، وتعرض الفرق على أنه مقدار التوفير. كما تحوّل الحجم المقدر إلى تيرابايت عشري لتسهيل مقارنته بعروض التخزين. تصف هذه الأرقام حمولة النسخ المحتفظ بها فقط؛ ولا تمثل التكلفة الكاملة لجهاز أو مستودع أو خدمة سحابية. قبل شراء السعة، أضيفوا متطلبات التصميم الفعلي، ومنها بيانات نظام الملفات الوصفية والفهارس واللقطات غير القابلة للتغيير والنسخ المتماثل وترميز المحو والمساحة المرحلية واختبارات الاستعادة وحدود المساحة الحرة. يجب أيضًا مراعاة النمو، فقد لا يكفي الحجم المقاس اليوم لسياسة يُراد استمرارها في العام المقبل. تسجل المراجعة الجيدة المدخلات، وتحسب حالتي إزالة تكرار متحفظة ومتوقعة، وتضيف الاحتياطي التشغيلي، ثم تقارن الإجمالي بالسعة القابلة للاستخدام لا السعة المعلنة. أعيدوا الحساب كلما تغيرت قواعد الاحتفاظ أو التكرار أو الأنظمة المحمية أو أداء إزالة التكرار. تبلغ كلفة طلب API الآلي $0.002، ويستخدم المتصفح المنطق الحتمي نفسه.
حالات الاستخدام
تحديد سعة مستودع نسخ احتياطية جديد
حوّلوا النمو اليومي المقاس وسياسة الاحتفاظ المقترحة إلى سعة أساسية قبل إضافة الاحتياطي التشغيلي.
مقارنة سيناريوهات إزالة التكرار
قيّموا عدم إزالة التكرار والنسب المتحفظة والمتوقعة لمعرفة أثر الكفاءة في المساحة المادية.
مراجعة سياسة الاحتفاظ
بيّنوا أثر الاحتفاظ بعدد أكبر أو أصغر من النقاط اليومية عند مناقشة الكلفة والامتثال والمرونة.
الأسئلة الشائعة
كيف تُحسب سعة النسخ الاحتياطية المطلوبة؟
يساوي الحجم الخام الحجم اليومي مضروبًا في أيام الاحتفاظ، ثم يُقسم الناتج على نسبة إزالة التكرار لحساب السعة المادية.
ماذا تُدخلون عند عدم استخدام إزالة التكرار؟
استخدموا النسبة 1 أو اتركوا الحقل الاختياري. عندئذ يتساوى الحجم المقدر مع الحجم الخام.
هل تعني النسبة 4:1 توفيرًا قدره 4 بالمئة؟
لا. تُبقي النسبة 4:1 ربع البيانات الخام، وهو ما يمثل توفيرًا مقدرًا قدره 75 بالمئة.
هل يشمل التقدير النسخ المتماثل والمساحة الحرة؟
لا. أضيفوا بصورة مستقلة النسخ المتماثل والبيانات الوصفية والمساحة المرحلية والثبات والاختبارات والاحتياطي.
هل يمكن أن تكون أيام الاحتفاظ 0 أو كسرًا؟
لا. يجب أن تكون عددًا صحيحًا موجبًا لأن الحاسبة تعد مجموعات النسخ اليومية المحتفظ بها.
ما كلفة عملية الحساب عبر API؟
يكلف كل طلب API مبلغ $0.002. ويتاح الحساب الحتمي نفسه في المتصفح أيضًا.
للمطوّرين — الوصول عبر API
كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.
الـEndpoint
صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.
استدعِ الخدمة من بيئتك
curl -X POST https://api.kit.forhosting.com/dev/backup-retention-storage-estimate \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"daily_backup_size_gb":250,"retention_days":30}'const res = await fetch("https://api.kit.forhosting.com/dev/backup-retention-storage-estimate", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"daily_backup_size_gb": 250,
"retention_days": 30
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/dev/backup-retention-storage-estimate",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"daily_backup_size_gb": 250,
"retention_days": 30
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/dev/backup-retention-storage-estimate", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"daily_backup_size_gb":250,"retention_days":30}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"daily_backup_size_gb":250,"retention_days":30}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/dev/backup-retention-storage-estimate", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)مثال على الطلب
{
"daily_backup_size_gb": 250,
"retention_days": 30
}مثال على الاستجابة
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "dev.backup_retention_storage_estimate",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}الواجهة غير متزامنة: تستلم task_id فور الإرسال، ويمكنك الاستعلام عن الحالة بمعدل طلب واحد في الثانية.
الأسعار
السعر معلن كما تراه: لا tokens ولا نظام نقاط؛ وإن فشلت المهمة فلن تُحاسَب عليها.
الأخطاء
| HTTP | الرمز | المعنى |
|---|---|---|
401 | unauthorized | مفتاح الوصول مفقود أو غير صالح؛ تحقق من ترويسة Bearer في طلبك. |
402 | insufficient_balance | رصيدك لا يكفي لتنفيذ هذه المهمة؛ أعد شحن الرصيد ثم أعد المحاولة. |
404 | unknown_type | نوع المهمة المطلوب غير موجود في الكتالوج — راجع الاسم المرسل في الطلب. |
429 | rate_limited | تجاوزت الحد المسموح من الطلبات؛ انتظر قليلًا ثم أعد المحاولة. |