SLV Backup - क्विकस्टार्ट

🗄️ SLV Backup

SLV Backup restic का उपयोग करके आपके नोड के एन्क्रिप्टेड, इंक्रीमेंटल बैकअप बनाता है। अपलोड से पहले सारा डेटा क्लाइंट-साइड पर AES-256 से एन्क्रिप्ट किया जाता है — सर्वर आपका प्लेनटेक्स्ट डेटा कभी नहीं देखता।
लीगेसी मोड: SLV बिना एन्क्रिप्शन वाले tar+zstd बैकअप (--restic के बिना) को भी सपोर्ट करता है। हम सभी नए बैकअप के लिए --restic का उपयोग करने की पुरज़ोर सलाह देते हैं।

पूर्व-आवश्यकताएँ

  • लक्ष्य नोड पर SLV CLI इंस्टॉल हो
  • sudo एक्सेस (फ़ुल-डिस्क बैकअप के लिए आवश्यक)
  • सक्रिय स्टोरेज सब्सक्रिप्शन के साथ लॉग इन किया हुआ हो (slv login)
  • restic इंस्टॉल हो (apt install restic)

एन्क्रिप्टेड बैकअप बनाएँ

bash
sudo slv backup create --restic --yes
🗄️  SLV Backup (restic mode)

  Region:    default
  Retention: 7 days

⚠️  Restic encryption password generated and saved to:
   /home/solv/.slv/restic-password
   BACK UP THIS FILE — without it, backups cannot be restored.

🔧 Initializing restic repository (if needed)...
📦 Creating restic backup...

Files:       151263 new,     0 changed,     0 unmodified
Dirs:        22486 new,     0 changed,     0 unmodified
Added to the repository: 4.107 GiB (1.837 GiB stored)

processed 151263 files, 4.366 GiB in 0:50
snapshot b6925e6d saved

✅ Restic backup complete
🧹 Applying retention policy (keep within 7 days)...
✅ Backup complete.

पहली बार चलाने पर क्या होता है

  1. एक रैंडम एन्क्रिप्शन पासवर्ड जनरेट होकर ~/.slv/restic-password में सेव होता है (मोड 0600)
  2. ERPC Cloud Storage पर एक restic रिपॉज़िटरी इनिशियलाइज़ की जाती है
  3. आपकी पूरी डिस्क का बैकअप लिया जाता है (सिस्टम के pseudo-filesystem को छोड़कर)

बाद के रन

केवल बदली हुई फ़ाइलें अपलोड होती हैं (इंक्रीमेंटल)। डीडुप्लिकेशन से स्टोरेज की लागत कम रहती है।

बैकअप की सूची देखें

bash
sudo slv backup list
क्लाउड स्टोरेज में मौजूद restic स्नैपशॉट और लीगेसी tar बैकअप, दोनों दिखाता है।

बैकअप से पुनर्स्थापित करें

नवीनतम स्नैपशॉट पुनर्स्थापित करें:
bash
sudo slv backup restore latest
कोई विशिष्ट स्नैपशॉट पुनर्स्थापित करें:
bash
sudo slv backup restore b6925e6d
लीगेसी tar बैकअप पुनर्स्थापित करें:
bash
sudo slv backup restore backup-mynode-20260318.tar.zst

बैकअप की अखंडता सत्यापित करें

restic check खुद चलाने के लिए Storage की access key से कनेक्ट करें। इस endpoint पर RPC API key स्वीकार नहीं की जातीं।
  1. Storage पेज खोलें, Storage के लिए access keys में जाएँ और key जारी करें पर क्लिक करें। check के लिए केवल पढ़ना काफ़ी है।
  2. key बनते ही दिखाया गया restic repository का URL कॉपी करें। यह केवल एक बार दिखाया जाता है: खो जाए तो key निरस्त करें और नई key जारी करें।
  3. उसी URL के साथ check चलाएँ:
bash
sudo restic -r '<RESTIC_REPOSITORY_URL>' \
  --password-file ~/.slv/restic-password check

स्वचालित बैकअप सेट अप करें (Cron)

bash
sudo slv backup create --restic --cron daily
अंतरालविवरण
dailyदिन में एक बार चलता है
weeklyहफ़्ते में एक बार चलता है
monthlyमहीने में एक बार चलता है
offcron job हटा देता है

रिटेंशन

डिफ़ॉल्ट रूप से, 7 दिन से पुराने स्नैपशॉट अपने-आप हटा (prune कर) दिए जाते हैं:
bash
sudo slv backup create --restic --retention 14

Exclude सूची कस्टमाइज़ करें

मौजूदा exclude सूची देखें:
bash
slv backup create --list-excludes
अतिरिक्त exclude पाथ जोड़ें:
bash
sudo slv backup create --restic --exclude /home/solv/ledger --exclude /home/solv/snapshots

एन्क्रिप्शन और सुरक्षा

फ़ीचरविवरण
एन्क्रिप्शनAES-256-CTR + Poly1305-AES (क्लाइंट-साइड)
अखंडताSHA-256 content-addressable स्टोरेज
डीडुप्लिकेशनकंटेंट के आधार पर chunking
सर्वर-साइड दृश्यताकोई नहीं — सर्वर केवल एन्क्रिप्टेड blob देखता है
पासवर्ड फ़ाइल~/.slv/restic-password (मोड 0600)
बैकअप से बाहर रखी गई फ़ाइलें~/.slv/restic-password, ~/.slv/api.yml, ~/.slv/backup.env
⚠️ महत्वपूर्ण: अपनी ~/.slv/restic-password फ़ाइल का अलग से बैकअप रखें। इसके बिना आपके बैकअप स्थायी रूप से खो जाते हैं और उन्हें वापस नहीं पाया जा सकता।

विकल्प संदर्भ

विकल्पविवरण
--resticएन्क्रिप्टेड इंक्रीमेंटल बैकअप के लिए restic का उपयोग करें (अनुशंसित)
-r, --region <region>स्टोरेज क्षेत्र (डिफ़ॉल्ट: eu)
--exclude <path>बाहर रखने के लिए अतिरिक्त पाथ (दोहराया जा सकता है)
--include <path>डिफ़ॉल्ट exclude सूची से हटाएँ (कई बार दिया जा सकता है)
--list-excludesमौजूदा exclude सूची दिखाएँ और बाहर निकलें
--retention <days>N दिन से पुराने स्नैपशॉट prune करें (डिफ़ॉल्ट: 7)
--cron <interval>cron job सेट अप करें (daily/weekly/monthly/off)
-y, --yesपुष्टि के प्रॉम्प्ट छोड़ दें
--uploadलीगेसी: tar बैकअप को क्लाउड स्टोरेज पर अपलोड करें
-o, --output <path>लीगेसी: tar बैकअप के लिए आउटपुट फ़ाइल पाथ

लीगेसी मोड (tar+zstd)

पुराने संस्करणों के साथ संगतता के लिए, बिना एन्क्रिप्शन वाले tar बैकअप अभी भी समर्थित हैं:
bash
sudo slv backup create --upload --yes     # Unencrypted tar backup
नोट: लीगेसी बैकअप एन्क्रिप्ट नहीं होते। हम सभी नए बैकअप के लिए --restic पर माइग्रेट करने की सलाह देते हैं।