सामग्री पर जाएँ

गाइड

समूह: क्लब और खाता

स्वचालित निर्यात: एन्क्रिप्टेड बैकअप

स्वचालित निर्यात (Pro पैकेज) से आपके क्लब का पूर्ण निर्यात नियमित रूप से आप तक पहुँचता है – कोई स्क्रिप्ट उसे ले जाती है या हम उसे आपके गंतव्य पर अपलोड करते हैं। यह हमेशा आपकी अपनी कुंजी से एन्क्रिप्ट रहता है: जो फ़ाइल को बीच में पकड़ ले, वह उसे पढ़ नहीं सकता, और हमारे पास वह अधिकतम 24 घंटे रहती है।

10 मिनट पढ़ने का समय

सबसे पहले: निजी कुंजी के बिना कोई बैकअप नहीं

  • हर स्वचालित निर्यात age से एन्क्रिप्ट होता है। उसे केवल आपकी निजी कुंजी (फ़ाइल club-backup.key) या आपके पासवर्ड से खोला जा सकता है। दोनों खो जाएँ तो सभी बैकअप अपठनीय हो जाते हैं – हम भी उन्हें वापस नहीं ला सकते।
  • इसलिए निजी कुंजी को दो सुरक्षित जगहों पर रखें (जैसे क्लब की तिजोरी में एन्क्रिप्टेड USB स्टिक और कार्यकारिणी का पासवर्ड मैनेजर) – लेकिन उस कंप्यूटर या NAS पर नहीं, जहाँ बैकअप रखे हैं।
  • स्वचालित निर्यात केवल स्वामी सेट करता है। हर सेटअप की पुष्टि एक कोड से होती है, जिसे हम स्वामी के पते पर भेजते हैं।

यह कैसे काम करता है

  • Pro पैकेज: स्वचालित निर्यात Pro पैकेज का हिस्सा है। एक बार के कोड वाला मैन्युअल पूर्ण निर्यात हर स्तर में मुफ़्त रहता है।
  • दो तरीके: निर्यात कुंजी से आपकी ओर की कोई स्क्रिप्ट (Windows टास्क शेड्यूलर, Synology, Linux) निर्यात ले सकती है। या आप कोई गंतव्य (WebDAV/Nextcloud, SFTP, S3) दर्ज करते हैं और हम निर्यात को समय-सारिणी के अनुसार वहाँ अपलोड करते हैं।
  • हर क्लब के लिए दिन में अधिकतम एक स्वचालित निर्यात – लेना और अपलोड करना मिलाकर।
  • हमेशा एन्क्रिप्टेड: निर्यात सहेजे जाने से पहले ही हमारे यहाँ एन्क्रिप्ट हो जाता है। लेने या अपलोड होने के तुरंत बाद हम उसे हटा देते हैं, वरना 24 घंटे बाद।
  • हर स्वचालित निर्यात के बाद स्वामी को समय, आकार और पते वाला ई-मेल मिलता है – चाहें तो इसके बजाय साप्ताहिक सारांश।
  • सेटअप प्रशासन (/admin) में “संगठन” → “मास्टर डेटा” → “पूर्ण निर्यात” → टैब “स्वचालित” में होता है, WebApp या ऐप में “सेटिंग्स” → “एडमिन क्षेत्र” → “मास्टर डेटा” में।

age इंस्टॉल करें

  1. age एक छोटा, मुफ़्त एन्क्रिप्शन प्रोग्राम है (age-encryption.org)। इसकी ज़रूरत उस कंप्यूटर पर है जहाँ आप कुंजी बनाते हैं और बैकअप खोलते हैं – उस NAS पर नहीं जो केवल उन्हें लेता है।
  2. Windows: कमांड प्रॉम्प्ट या PowerShell में “winget install FiloSottile.age” टाइप करें।
  3. macOS: “brew install age”। Linux: पैकेज मैनेजर से, जैसे “sudo apt install age”।
  4. जाँच: “age --version” इंस्टॉल किया गया संस्करण दिखाता है।

कुंजी बनाएँ

age-keygen -o club-backup.key
Public key: age1…   ← यह पंक्ति प्रशासन में दर्ज करें

एन्क्रिप्शन सेट करें – चरण दर चरण

  1. पूर्ण निर्यात का “स्वचालित” टैब खोलें और “एन्क्रिप्शन सेट करें” पर क्लिक करें।
  2. “सार्वजनिक कुंजी (अनुशंसित)” चुनें और age1 से शुरू होने वाली पंक्ति चिपकाएँ।
  3. “परीक्षण फ़ाइल बनाएँ” पर क्लिक करें। छोटी फ़ाइल test-automatischer-export.txt.age सहेजी जाती है।
  4. उसे अपनी ओर डिक्रिप्ट करें: “age -d -i club-backup.key test-automatischer-export.txt.age”। K7Q4-M2XD जैसा एक जाँच शब्द दिखेगा।
  5. जाँच शब्द दर्ज करें और “जाँच शब्द की पुष्टि करें” पर क्लिक करें। हम स्वामी को एक कोड भेजते हैं; कोड से एन्क्रिप्शन सक्रिय हो जाता है।
  6. इससे पक्का होता है कि आप अपने बैकअप सचमुच खोल सकते हैं – गलत कॉपी हुई कुंजी अभी पकड़ में आ जाती है, किसी आपात स्थिति में नहीं।

कुंजी के बजाय पासवर्ड

कुंजी के बजाय कम से कम 12 अक्षरों का पासवर्ड भी इस्तेमाल किया जा सकता है। तब फ़ाइल “age -d फ़ाइल.zip.age” से खुलती है; age पासवर्ड पूछता है।

ध्यान रखें: एन्क्रिप्ट करने के लिए हमारे सर्वर को पासवर्ड पता होना चाहिए। हम उसे केवल एन्क्रिप्ट करके रखते हैं, लेकिन संचालक तकनीकी रूप से उसे डिक्रिप्ट कर सकता है। सार्वजनिक कुंजी के साथ यह संभव नहीं है – इसलिए हम कुंजी की सलाह देते हैं।

स्क्रिप्ट के लिए निर्यात कुंजी बनाएँ

  1. “निर्यात कुंजियाँ” में एक नाम दर्ज करें, जैसे “क्लब भवन का NAS”, और वैधता अवधि चुनें (अधिकतम 12 महीने)।
  2. वैकल्पिक: अगर आपके पास स्थिर IP पता है, तो उसे “केवल इन IP पतों से” में दर्ज करें – तब कुंजी केवल वहीं से काम करती है।
  3. “निर्यात कुंजी बनाएँ” पर क्लिक करें और ई-मेल से मिला कोड दर्ज करें।
  4. कुंजी केवल एक बार दिखाई जाती है। उसे तुरंत स्क्रिप्ट के लिए किसी सुरक्षित जगह पर सहेजें – स्क्रिप्ट के अंदर नहीं।
  5. समाप्ति से 30 और 7 दिन पहले हम ई-मेल से याद दिलाते हैं। “नवीनीकृत करें” नई कुंजी बनाता है; पुरानी कुंजी 7 दिन और चलती है, ताकि आप आराम से स्क्रिप्ट बदल सकें।

Windows: टास्क शेड्यूलर के लिए स्क्रिप्ट (PowerShell)

# backup-export.ps1 – एन्क्रिप्टेड पूर्ण निर्यात लेता है
# Install-Module CredentialManager -Scope CurrentUser   (einmalig / once)
# New-StoredCredential -Target 'drinklist-export' -UserName export -Password '<Export-Schlüssel / export key>' -Persist LocalMachine
$key  = (Get-StoredCredential -Target 'drinklist-export').GetNetworkCredential().Password
$base = 'https://drinklist.app/api/v1'
$h    = @{ Authorization = "Bearer $key" }
$export = Invoke-RestMethod -Method Post -Uri "$base/exports" -Headers $h
do { Start-Sleep -Seconds 30; $state = Invoke-RestMethod -Uri "$base/exports/$($export.id)" -Headers $h } while ($state.status -in 'Waiting','Running')
if ($state.status -ne 'Ready') { throw "Export: $($state.status)" }
$file = "D:\Backup\Verein\komplettexport-$(Get-Date -Format yyyy-MM-dd).zip.age"
Invoke-WebRequest -Uri "$base/exports/$($export.id)/download" -Headers $h -OutFile $file
# केवल ज़रूरत होने पर, किसी भरोसेमंद कंप्यूटर पर खोलें: age -d -i club-backup.key -o export.zip <फ़ाइल>

Windows टास्क शेड्यूलर सेट करें

  1. स्क्रिप्ट को backup-export.ps1 के रूप में सहेजें, जैसे C:\Scripts में। निर्यात कुंजी को एक बार New-StoredCredential से Windows क्रेडेंशियल मैनेजर में रखें (स्क्रिप्ट की पंक्तियाँ 2 और 3)।
  2. टास्क शेड्यूलर खोलें → “Create Task” → नाम “क्लब बैकअप”, “Run whether user is logged on or not”।
  3. ट्रिगर: रोज़ाना, जैसे 03:30। एक्शन: प्रोग्राम “powershell.exe”, आर्ग्युमेंट “-NoProfile -ExecutionPolicy Bypass -File C:\Scripts\backup-export.ps1”।
  4. एक बार हाथ से चलाएँ और जाँचें कि बैकअप फ़ोल्डर में *.zip.age फ़ाइल आ गई है।

Synology/NAS या Linux: cron के लिए स्क्रिप्ट

#!/bin/sh
# backup-export.sh – एन्क्रिप्टेड पूर्ण निर्यात लेता है
set -eu
KEY=$(cat /volume1/scripts/.drinklist-export-key)   # chmod 600
BASE=https://drinklist.app/api/v1
ID=$(curl -fsS -X POST -H "Authorization: Bearer $KEY" "$BASE/exports" | sed -n 's/.*"id":\([0-9]*\).*/\1/p')
while :; do
  STATUS=$(curl -fsS -H "Authorization: Bearer $KEY" "$BASE/exports/$ID" | sed -n 's/.*"status":"\([A-Za-z]*\)".*/\1/p')
  [ "$STATUS" = "Ready" ] && break
  case "$STATUS" in Waiting|Running) sleep 30 ;; *) echo "Export: $STATUS" >&2; exit 1 ;; esac
done
curl -fsS -H "Authorization: Bearer $KEY" -o "/volume1/backup/verein/export-$(date +%F).zip.age" "$BASE/exports/$ID/download"
# NAS को age की ज़रूरत नहीं – फ़ाइलें केवल भरोसेमंद कंप्यूटर पर खोली जाती हैं

Synology: टास्क शेड्यूलर सेट करें

  1. निर्यात कुंजी को एक फ़ाइल में लिखें (जैसे /volume1/scripts/.drinklist-export-key) और “chmod 600” से उसे केवल बैकअप उपयोगकर्ता के लिए पठनीय बनाएँ।
  2. स्क्रिप्ट को /volume1/scripts/backup-export.sh के रूप में सहेजें और निष्पादन योग्य बनाएँ (“chmod 700”)।
  3. Control Panel → Task Scheduler → Create → Scheduled Task → User-defined script; उपयोगकर्ता: बैकअप उपयोगकर्ता; समय-सारिणी: रोज़ाना 03:30; कमांड: /volume1/scripts/backup-export.sh।
  4. Linux पर crontab में एक प्रविष्टि काफ़ी है: “30 3 * * * /volume1/scripts/backup-export.sh”।

बिना स्क्रिप्ट: हम आपके गंतव्य पर अपलोड करते हैं

  1. “गंतव्य” में प्रकार चुनें: WebDAV (Nextcloud, WebDAV Server पैकेज वाला Synology, https पोर्ट 5006), SFTP या S3।
  2. Nextcloud: फ़ोल्डर का पता, जैसे https://cloud.club.org/remote.php/dav/files/backup/drinklist/, और एक अलग बैकअप उपयोगकर्ता का ऐप पासवर्ड इस्तेमाल करें। फ़ोल्डर पहले बना लें।
  3. SFTP: सर्वर, पोर्ट (22 या 2222), फ़ोल्डर, उपयोगकर्ता और पासवर्ड या निजी SSH कुंजी दर्ज करें। पहले परीक्षण पर हम सर्वर की कुंजी याद रखते हैं – अगर वह बदलती है, तो सुरक्षा कारणों से हम रुक जाते हैं।
  4. S3: एंडपॉइंट (खाली = Amazon), क्षेत्र, बकेट और ऐसा एक्सेस जो केवल लिख सके (PutObject) – उसे न पढ़ने की ज़रूरत है, न हटाने की।
  5. आवृत्ति (रोज़ाना या साप्ताहिक) और समय चुनें – यह आपके क्लब के समय क्षेत्र में लागू होता है।
  6. “कनेक्शन जाँचें और सेट करें”: हम एक छोटी परीक्षण फ़ाइल लिखते हैं। सफल होने पर कोड स्वामी को जाता है; कोड से गंतव्य सक्रिय हो जाता है।
  7. अपलोड विफल होने पर हम तीन बार फिर से कोशिश करते हैं और ई-मेल भेजते हैं। लगातार तीन विफल रन के बाद हम गंतव्य को तब तक रोक देते हैं, जब तक आप उसे फिर से अनुमति न दें।

बैकअप खोलें (डिक्रिप्ट करें)

age -d -i club-backup.key -o full-export.zip komplettexport-2026-10-07.zip.age
age -d -o full-export.zip komplettexport-2026-10-07.zip.age   # पासवर्ड वाला तरीका

सुरक्षा एक नज़र में

  • निर्यात कुंजी केवल एन्क्रिप्टेड निर्यात ले सकती है – कोई खाते नहीं, कोई प्रविष्टियाँ नहीं, कोई और डेटा नहीं।
  • इसे केवल स्वामी बना सकता है, ई-मेल से आए कोड की पुष्टि के साथ; व्यवस्थापक और सपोर्ट निर्यात कुंजी नहीं बना सकते।
  • किसी नए देश से एक्सेस या बार-बार अस्वीकृत अनुरोध कुंजी को रोक देते हैं; स्वामी को ई-मेल मिलता है और वह उसे फिर से अनुमति दे सकता है या रद्द कर सकता है।
  • उल्लंघन के कारण संगठन लॉक होने पर स्वचालित निर्यात रुका रहता है; प्रशासन में मैन्युअल निर्यात उपलब्ध रहता है।
  • स्वामी बदलने पर कुंजियाँ और गंतव्य बने रहते हैं। नए स्वामी को ई-मेल मिलता है और वह उन्हें रद्द करके एन्क्रिप्शन फिर से सेट कर सकता है।

अगर काम न करे

  • 429 “only one automatic export per day”: आज पहले ही एक स्वचालित निर्यात हो चुका है – कल फिर से होगा।
  • 403 “export key paused”: दुरुपयोग पहचान ने कुंजी को रोक दिया है। स्वामी प्रशासन में “फिर से अनुमति दें” से उसे खोलता है।
  • डाउनलोड पर 409: निर्यात पहले ही लिया जा चुका है या 24 घंटे बाद हटा दिया गया है – अगले दिन नया अनुरोध करें।
  • 423: संगठन लॉक है; कृपया सपोर्ट से संपर्क करें।
  • स्क्रिप्ट में बार-बार पूछने के बजाय एक वेबहुक “export.ready” इवेंट की सूचना दे सकता है (प्रशासन → इंटीग्रेशन)।

आगे नहीं बढ़ पाए?

अगर किसी गाइड से आपका सवाल हल न हो या कुछ वर्णन से अलग दिखे, तो टिकट खोलिए – हम उसी में जवाब देते हैं। सपोर्ट केवल टिकट से मिलता है, ई-मेल से नहीं।