ITSkillsCenter
الأمن السيبراني

النسخ الاحتياطية التلقائية لـ Vaultwarden إلى MinIO و S3: الدليل الكامل 2026

2 دقائق للقراءة

📍 المقالة الرئيسية: Vaultwarden 2026.

فريق لا يختبر أبداً استعادة نسخه الاحتياطية لا يملك نسخاً احتياطية: يملك أوهاماً. هذا الدرس يفصِّل الإجراء الكامل لحفظ Vaultwarden بشكل مؤتمت ومشفر إلى MinIO ذاتي الاستضافة أو Backblaze B2 (متوافق S3) بسعر 6 دولارات لكل تيرابايت.

المتطلبات

  • Vaultwarden إنتاج بـ SQLite أو PostgreSQL.
  • وصول SSH root.
  • دلو MinIO أو Backblaze B2.
  • المستوى: متوسط.
  • الوقت: ساعة للإعداد، 30 دقيقة للاختبار الشهري.

الخطوة 1 — اختر بين MinIO و Backblaze B2

MinIO ذاتي الاستضافة: تحكم كامل، لا اعتماد خارجي.

Backblaze B2 في وضع متوافق S3: 6 USD/تيرابايت/شهر مع egress مجاني عبر Cloudflare Bandwidth Alliance.

التوصية: الاثنان معاً. MinIO عند OVH للنسخة الأولية، Backblaze B2 للنسخة الثانوية offsite.

الخطوة 2 — تحضير الدلو والاعتمادات

على Backblaze B2: أنشئ دلواً خاصاً vaultwarden-backup-prod. فعِّل versioning. ولِّد مفتاح تطبيق بوصول قراءة/كتابة لهذا الدلو فقط.

الخطوة 3 — تثبيت rclone و restic

curl https://rclone.org/install.sh | sudo bash
apt install -y restic

الخطوة 4 — تكوين restic

export RESTIC_REPOSITORY="s3:s3.eu-central-003.backblazeb2.com/vaultwarden-backup-prod"
export AWS_ACCESS_KEY_ID="votre-keyID"
export AWS_SECRET_ACCESS_KEY="votre-applicationKey"
export RESTIC_PASSWORD="passphrase-très-très-forte"
restic init

عبارة المرور هذه هي مفتاح حماية نسخك. إذا فقدتها، نسخك غير قابلة للاستعادة. خزنها في 3 أماكن مستقلة.

الخطوة 5 — كتابة سكربت النسخ

#!/bin/bash
set -euo pipefail
VW_DATA="/var/lib/coolify/services/vaultwarden-prod/data"
TMP_DIR="/tmp/vw-backup-$$"

# Snapshot SQLite ساخن (قفل قصير)
docker exec vaultwarden-prod sqlite3 /data/db.sqlite3 \
  ".backup '/data/db-snapshot.sqlite3'"
cp "$VW_DATA/db-snapshot.sqlite3" db.sqlite3

# نسخ المرفقات والأيقونات
cp -r "$VW_DATA/attachments" attachments 2>/dev/null || true

# Restic
restic backup . --tag "vw-prod-$(date +%Y-%m-%d-%H%M)"
restic forget --keep-daily 7 --keep-weekly 4 --keep-monthly 12 --prune

curl -s "https://ntfy.sh/votre-topic" -d "Vaultwarden backup OK $(date -Iseconds)"

الخطوة 6 — جدولة بـ cron

0 */6 * * * /srv/scripts/vw-backup.sh

الخطوة 7 — اختبار استعادة شهري

اختبار الاستعادة ليس اختيارياً. إجراء شهري على VPS staging:

restic snapshots
restic restore latest --target /tmp/restore
sqlite3 /tmp/restore/db.sqlite3 "PRAGMA integrity_check;"
sqlite3 /tmp/restore/db.sqlite3 "SELECT COUNT(*) FROM ciphers;"

الأخطاء الشائعة

الخطأ السبب الحل
نسخة تالفة بعد cp مباشرة SQLite قيد الكتابة دائماً sqlite3 .backup
الدلو ممتلئ forget غير مُشغَّل تحقق restic forget –prune
كلمة سر restic مفقودة تخزين فريد 3 أماكن مستقلة

التكيف مع السياق

ثلاث نقاط. اختيار datacenter: Backblaze B2 EU Central (Amsterdam) يقدم زمن استجابة دون 90 ميلي ثانية إلى داكار وأبيدجان والدار البيضاء. التكلفة بالعملة المحلية: 1 جيجابايت = 0.006 دولار = أقل من 4 فرنك CFA شهرياً. عرض النطاق: Backblaze يقدم egress مجاناً عبر Cloudflare.

دروس مرتبطة

للاستزادة

Besoin d'un site web ?

Confiez-nous la Création de Votre Site Web

Site vitrine, e-commerce ou application web — nous transformons votre vision en réalité digitale. Accompagnement personnalisé de A à Z.

À partir de 250.000 FCFA
Parlons de Votre Projet
Publicité