Python · Google Drive ↔ OneDrive · ओपन-सोर्स इंजीनियरिंग गाइड

Python में सुरक्षित Google Drive–OneDrive ट्रांसफ़र बनाएँ

यह गाइड भ्रामक रूप से कठिन क्लाउड कॉपी को एक स्पष्ट पाइपलाइन में बदलती है: सूची बनाएँ, प्रारंभिक जाँच करें, स्टेज करें, हैश बनाएँ, अपलोड करें, दोबारा डाउनलोड करें, तुलना करें, चेकपॉइंट बनाएँ और उसके बाद ही स्थानीय डिस्क की जगह खाली करें।

अपडेट किया गया ; 22 मिनट में पढ़ें.

संक्षिप्त उत्तर

प्रबंधित माइग्रेशन के लिए FileArk आपके कंप्यूटर को डेटा प्लेन बनाए बिना इस वर्कफ़्लो को स्वचालित करता है। इसे कई टेराबाइट वाले माइग्रेशन वर्कलोड के साथ परखा गया है और यह सफलता की सूचना देने से पहले स्रोत से डेटा मिलने, प्रदाता द्वारा अपलोड स्वीकार किए जाने और गंतव्य ऑब्जेक्ट की जाँच करता है। अगर आपको पाइपलाइन स्वयं संचालित करनी है, तो नीचे दिया गया MIT लाइसेंस वाला Python प्रोग्राम आपकी मशीन के ज़रिए सावधानीपूर्वक कॉपी करता है और स्रोत फ़ाइलों को कभी नहीं मिटाता।

कोड चुनने से पहले संचालन मॉडल चुनें

जब लाइब्रेरी बड़ी हो, कनेक्शन को बिना निगरानी के चलाना हो या डेटा को लैपटॉप से न गुज़ारना हो, तब सीधी क्लाउड माइग्रेशन सेवा व्यावहारिक विकल्प है। FileArk ट्रांसफ़र को ऑनलाइन बनाए रखता है, प्रदाताओं की प्रतिक्रियाओं पर नज़र रखता है, सुधार योग्य विफलताओं पर फिर से प्रयास करता है और आपको प्रगति का एकीकृत दृश्य देता है। किसी फ़ाइल को पूर्ण मानने से पहले इसकी सत्यापन प्रक्रिया तीन स्वतंत्र जाँच करती है।

जब आपको OAuth ऐप्लिकेशन, स्टेजिंग डिस्क, लॉग या गंतव्य फ़ोल्डर नीति पर पूरा नियंत्रण चाहिए, तब स्थानीय स्क्रिप्ट उपयोगी होती है। इसके बदले संचालन की ज़िम्मेदारी आपकी होती है: आपकी मशीन को ऑनलाइन रहना होगा, उसका नेटवर्क कनेक्शन बाधा बन सकता है, OAuth क्रेडेंशियल सुरक्षित रखने होंगे और सक्रिय बैच व सत्यापन कॉपी के लिए पर्याप्त अस्थायी डिस्क स्थान उपलब्ध रहना चाहिए।

यहाँ जारी किया गया प्रोग्राम जानबूझकर सतर्कता के साथ बनाया गया है। यह एक निजी ड्राइव के रूट से नए गंतव्य फ़ोल्डर में कॉपी करता है। इसमें डिलीट करने की कोई विधि उपलब्ध नहीं है, यह टकराव वाली फ़ाइलों को ओवरराइट नहीं करता, सत्यापन के बाद स्थायी चेकपॉइंट सहेजता है और स्थानीय या गंतव्य क्षमता के आपके कॉन्फ़िगर किए गए रिज़र्व से कम होते ही रुक जाता है।

ट्रांसफ़र पाइपलाइन और उसकी विफलता सीमाएँ

  1. स्रोत ट्री की इन्वेंट्री बनाएँ

    स्रोत अडैप्टर फ़ोल्डरों में रिकर्सिव रूप से जाता है, प्रदाता के पेजिनेशन का पालन करता है, ID, पाथ, प्रकार और बताए गए आकार दर्ज करता है तथा समर्थित Google-मूल फ़ाइलों को पोर्टेबल एक्सपोर्ट फ़ॉर्मैट में मैप करता है।

  2. गंतव्य और स्थानीय क्षमता की प्रीफ़्लाइट जाँच करें

    इंजन लंबित बाइट और कॉन्फ़िगर किए जा सकने वाले रिज़र्व के योग की तुलना गंतव्य कोटा से करता है। यह हर बैच और हर फ़ाइल के डाउनलोड से पहले स्टेजिंग फ़ाइल सिस्टम की भी जाँच करता है।

  3. सीमित बैच को स्टेज करें

    फ़ाइलों को ऐसे बैच में प्रोसेस किया जाता है जिन पर कुल बाइट और फ़ाइलों की संख्या—दोनों की सीमा लागू होती है। केवल मौजूदा बैच स्थानीय डिस्क का उपयोग करता है, इसलिए बड़ी लाइब्रेरी के लिए उसी आकार की ड्राइव आवश्यक नहीं होती।

  4. हैश बनाएँ और अपलोड करें

    डाउनलोड करने के बाद स्क्रिप्ट स्थानीय SHA-256 की गणना करती है, स्रोत के ज्ञात आकार की जाँच करती है, गंतव्य फ़ोल्डर बनाती है और सेवा प्रदाता के अनुकूल, फिर से शुरू किए जा सकने वाले हिस्सों में अपलोड करती है।

  5. सत्यापित करें और चेकपॉइंट बनाएँ

    डिफ़ॉल्ट मोड गंतव्य के नए ऑब्जेक्ट को फिर से डाउनलोड करके SHA-256 की तुलना करता है। केवल मेल खाने वाली फ़ाइल को JSON चेकपॉइंट में दर्ज किया जाता है और स्थानीय स्टेजिंग से हटाया जाता है।

MIT लाइसेंस वाला पूरा Python संस्करण डाउनलोड करें

डाउनलोड में एक ही पठनीय Python एंट्री पॉइंट है। प्रदाता के SDK केवल वास्तविक ट्रांसफ़र के लिए इंपोर्ट किए जाते हैं, इसलिए डिपेंडेंसी या क्रेडेंशियल इंस्टॉल होने से पहले भी डेमो और सहायता कमांड चलते हैं। एक अलग आवश्यकताओं की फ़ाइल न्यूनतम समर्थित पैकेज वर्ज़न तय करती है और लाइसेंस स्रोत के साथ दिया जाता है।

इसे इस्तेमाल करने से पहले कोड पढ़ें, किसी छोटे गंतव्य फ़ोल्डर के साथ परीक्षण करें और मूल्यवान डेटा के लिए डिफ़ॉल्ट पुनः-डाउनलोड सत्यापन चालू रखें। कोई भी सामान्य स्क्रिप्ट हर शेयरिंग अनुमति, शॉर्टकट, रिटेंशन लेबल, शेयर की गई ड्राइव के नियम या टेनेंट नीति को हूबहू लागू नहीं कर सकती।

Python ट्रांसफ़र प्रोग्राम डाउनलोड करें
बैचिंग, चेकपॉइंट, पुनः प्रयास, कोटा रिज़र्व और गंतव्य के SHA-256 सत्यापन के साथ Google Drive API और Microsoft Graph का प्रत्यक्ष कार्यान्वयन।
fileark-cloud-transfer.py · Python 3.10+ · MIT लाइसेंस

Python की आवश्यकताएँ डाउनलोड करें
Google OAuth और Drive, Microsoft प्रमाणीकरण, Graph अनुरोधों और पुनः प्रयास की सुविधा के लिए निर्भरताओं की छोटी सूची।
requirements-fileark-cloud-transfer.txt · pip आवश्यकताएँ · सादा टेक्स्ट

MIT लाइसेंस डाउनलोड करें
FileArk की दोनों मैन्युअल-ट्रांसफ़र स्क्रिप्ट पर लागू अनुमति सूचना।
LICENSE-fileark-cloud-transfer.txt · MIT · सादा टेक्स्ट

क्लाउड एक्सेस देने से पहले सुरक्षा प्रक्रिया देखें

नेटवर्क-मुक्त डेमो मोड में FileArk Python क्लाउड ट्रांसफ़र स्क्रिप्ट चलाता टर्मिनल
बिल्ट-इन डेमो बिना क्रेडेंशियल या नेटवर्क कॉल के ऑपरेटर को दिखाई देने वाली प्रक्रिया चलाता है। वास्तविक रन में भी क्षमता, बैच, सत्यापन, चेकपॉइंट और स्रोत मिटाने की स्थिति के वही विवरण दिखते हैं।

पहले डेमो चलाएँ। यह कोई नेटवर्क कॉल नहीं करता और क्लाउड में कोई डेटा नहीं लिखता। अंतिम पंक्ति जानबूझकर पूरी तरह स्पष्ट है: स्रोत की शून्य फ़ाइलें डिलीट की गईं। वास्तविक इंजन संरचित लॉग के माध्यम से यही क्रम दिखाता है और पहली असत्यापित फ़ाइल मिलने पर गैर-शून्य एग्ज़िट कोड के साथ बंद हो जाता है।

नेटवर्क के बिना स्मोक टेस्ट
chmod +x fileark-cloud-transfer.py
python3 fileark-cloud-transfer.py --demo
python3 fileark-cloud-transfer.py --help

सीक्रेट एम्बेड किए बिना OAuth क्लाइंट बनाएँ

Google Drive के लिए किसी Google Cloud प्रोजेक्ट में डेस्कटॉप OAuth क्लाइंट बनाएँ, Drive API चालू करें, सहमति स्क्रीन कॉन्फ़िगर करें और क्लाइंट JSON डाउनलोड करें। --google-client-secret के साथ उसका पाथ दें या GOOGLE_OAUTH_CLIENT_SECRET_FILE सेट करें। स्क्रिप्ट Drive का एक्सेस माँगती है, क्योंकि इसे फ़ाइलों की सूची बनानी, उन्हें डाउनलोड करना, फ़ोल्डर बनाना, अपलोड करना और सत्यापित करना होता है।

OneDrive के लिए Microsoft Entra ID में एक पब्लिक क्लाइंट ऐप्लिकेशन रजिस्टर करें, डिवाइस-कोड फ़्लो चालू करें, प्रत्यायोजित Files.ReadWrite अनुमति जोड़ें और ऐप्लिकेशन क्लाइंट ID दें। उपभोक्ता और संगठनात्मक खातों के लिए common, कार्यस्थल के खातों के लिए organizations या नीति की आवश्यकता होने पर कोई विशिष्ट टेनेंट ID चुनें।

टोकन स्थानीय फ़ाइलों में कैश किए जाते हैं, ताकि बाधित माइग्रेशन को दोबारा लॉग इन किए बिना फिर से शुरू किया जा सके। क्लाइंट JSON और टोकन कैश को सीक्रेट मानें: उन्हें वर्ज़न कंट्रोल से बाहर रखें, फ़ाइल सिस्टम अनुमतियाँ सीमित करें, उन्हें कभी भी सहायता टिकट में अपलोड न करें और माइग्रेशन स्वीकार हो जाने पर हटा दें।

डिपेंडेंसी को अलग परिवेश में इंस्टॉल करें
python3 -m venv .venv
. .venv/bin/activate
python -m pip install --upgrade pip
python -m pip install -r requirements-fileark-cloud-transfer.txt

Google Drive से OneDrive पर ट्रांसफ़र चलाएँ—या इसका उलटा करें

पहचान से जुड़े सभी मान ऑपरेटर के होते हैं। प्रोग्राम में कोई क्लाइंट ID, सीक्रेट, टेनेंट, टोकन, रिमोट खाता या गंतव्य क्रेडेंशियल शामिल नहीं होता। पहला कमांड ब्राउज़र में Google और डिवाइस कोड के ज़रिए Microsoft में साइन इन करता है, फिर फ़ाइलों को OneDrive के एक नए फ़ोल्डर में कॉपी करता है।

OneDrive से Google Drive पर ट्रांसफ़र करने के लिए स्रोत और गंतव्य को उलट दें। हर स्वतंत्र माइग्रेशन के लिए अलग स्टेट फ़ाइल और गंतव्य रूट का उपयोग करें। चेकपॉइंट स्रोत प्रदाता, गंतव्य प्रदाता और रूट को एक साथ बाँधता है और कॉन्फ़िगरेशन मेल न खाने पर फिर से शुरू करने से मना कर देता है।

8 GiB बैच के साथ Google Drive से OneDrive
export MICROSOFT_CLIENT_ID="your-public-client-id"
python fileark-cloud-transfer.py \
  --source google \
  --destination onedrive \
  --google-client-secret ./client_secret.json \
  --microsoft-tenant common \
  --destination-root "FileArk Manual Transfer 2026-07-25" \
  --batch-gib 8 \
  --batch-files 200 \
  --local-reserve-gib 15 \
  --destination-reserve-gib 10 \
  --verification redownload
विपरीत दिशा: OneDrive से Google Drive
python fileark-cloud-transfer.py \
  --source onedrive \
  --destination google \
  --microsoft-client-id "$MICROSOFT_CLIENT_ID" \
  --google-client-secret ./client_secret.json \
  --destination-root "OneDrive archive 2026-07-25" \
  --state-file ./onedrive-to-google-state.json \
  --verification redownload

क्षमता की जाँच एक से अधिक बार क्यों की जाती है

लंबा ट्रांसफ़र चलने के दौरान एक बार की प्रीफ़्लाइट जाँच पुरानी पड़ सकती है। कोई व्यक्ति गंतव्य पर अन्य फ़ाइलें अपलोड कर सकता है, एक्सपोर्ट किया गया Google दस्तावेज़ उसके स्रोत मेटाडेटा के संकेत से बड़ा हो सकता है और असंबंधित ऐप्लिकेशन स्थानीय डिस्क का उपयोग कर सकते हैं। इसलिए इंजन शुरू होने से पहले गंतव्य की कुल क्षमता, हर बैच पर गंतव्य की क्षमता, प्रत्येक स्थानीय डाउनलोड के बाद फिर से गंतव्य की क्षमता और हर स्टेजिंग या सत्यापन कॉपी से पहले स्थानीय डिस्क की जाँच करता है।

आरक्षित मान संचालन के लिए अतिरिक्त गुंजाइश हैं, ट्रांसफ़र आकार के अनुमान नहीं। इन्हें ऑपरेटिंग सिस्टम अपडेट, प्रदाता की लेखांकन देरी और उसी क्लाउड कोटा का उपयोग करने वाले अन्य उपयोगकर्ताओं के लिए पर्याप्त बड़ा रखें। जब कोई प्रदाता शेष कोटा की निश्चित सीमा उपलब्ध नहीं कराता, तो स्क्रिप्ट चेतावनी देती है और प्रदाता द्वारा लागू की जाने वाली सीमा पर निर्भर रहती है; यह ज्ञात प्रीफ़्लाइट जाँच की तुलना में कम विश्वसनीय है और इस पर सक्रिय निगरानी की ज़रूरत होती है।

फ़ेल-क्लोज़्ड कोटा इनवेरिएंट
def ensure_destination_capacity(quota, required, reserve):
    if quota.remaining is None:
        LOG.warning("Destination did not report a finite quota")
        return
    needed = required + reserve
    if quota.remaining < needed:
        raise RuntimeError(
            f"Destination is too small: {human_bytes(quota.remaining)} free, "
            f"{human_bytes(needed)} required including reserve."
        )

स्टेजिंग फ़ुटप्रिंट को बाइट और संख्या के आधार पर सीमित करें

बाइट सीमा डिस्क के उपयोग को नियंत्रित करती है; जब स्रोत में लाखों छोटी ऑब्जेक्ट हों, तो फ़ाइल-संख्या सीमा API और फ़ाइल सिस्टम के अतिरिक्त भार को नियंत्रित करती है। बैच सीमा से बड़ी फ़ाइल को एकल-फ़ाइल बैच के रूप में अनुमति दी जाती है, इसलिए रिज़र्व का आकार सबसे बड़ी एकल ऑब्जेक्ट के अनुसार तय होना चाहिए।

डिफ़ॉल्ट चंक 10 MiB का है। यह Google Drive की 256 KiB की फिर से शुरू की जा सकने वाली अपलोड ग्रैन्युलैरिटी और Microsoft Graph की 320 KiB की क्रमिक फ़्रैगमेंट आवश्यकता का एक सामान्य गुणज है। कमांड-लाइन वैलिडेटर प्रमाणीकरण से पहले असंगत चंक आकारों को अस्वीकार कर देता है।

दोहरी सीमा वाला बैच प्लानर
def batches(files, max_bytes, max_files):
    batch, batch_size = [], 0
    for item in files:
        planned_size = max(item.size, 1)
        if batch and (
            len(batch) >= max_files
            or batch_size + planned_size > max_bytes
        ):
            yield batch
            batch, batch_size = [], 0
        batch.append(item)
        batch_size += planned_size
    if batch:
        yield batch

Google के नेटिव दस्तावेज़ों को कन्वर्ज़न के रूप में संभालें

Google Docs, Sheets, Slides, Drawings और Apps Script प्रोजेक्ट सामान्य रूप से डाउनलोड की जा सकने वाली बाइट स्ट्रीम नहीं हैं। Google अडैप्टर उन्हें क्रमशः DOCX, XLSX, PPTX, PNG और JSON में एक्सपोर्ट करता है और फ़ाइल नाम में पोर्टेबल एक्सटेंशन जोड़ता है। फ़ोल्डरों में जाया जाता है, लेकिन जब तक उनमें कोई फ़ाइल न हो, उन्हें खाली ऑब्जेक्ट के रूप में अपलोड नहीं किया जाता।

कन्वर्ज़न से फ़ॉन्ट, फ़ॉर्मूले, टिप्पणियाँ, एम्बेड किए गए ऑब्जेक्ट, पेज लेआउट और सहयोग इतिहास बदल सकते हैं। Google के एक्सपोर्ट एंडपॉइंट भी फ़ॉर्मेट और आकार संबंधी सीमाएँ लगाते हैं। स्क्रिप्ट कोई काल्पनिक रूप बनाने के बजाय असमर्थित नेटिव प्रकारों को चेतावनी के साथ छोड़ देती है। प्रतिनिधि कन्वर्ट की गई फ़ाइलों की मैन्युअल रूप से समीक्षा करें।

शॉर्टकट, शेयर की गई ड्राइव, आपके साथ शेयर की गई लेकिन My Drive में मौजूद न होने वाली फ़ाइलें, OneNote पैकेज, संगठन का रिटेंशन मेटाडेटा, वर्ज़न इतिहास और शेयरिंग ACL इस संस्करण के दायरे से बाहर हैं। इन्हीं सीमाओं के कारण फ़ाइलों की कॉपी को पूर्ण टेनेंट माइग्रेशन नहीं कहा जाना चाहिए।

सटीक बाइट के लिए गंतव्य से पूर्ण पुनः-डाउनलोड सत्यापन का उपयोग करें

प्रदाता द्वारा अपलोड को सफल बताना ज़रूरी है, लेकिन पर्याप्त नहीं। अपलोड के बाद स्क्रिप्ट सबसे पहले गंतव्य के मेटाडेटा में दिए गए आकार की तुलना स्टेज की गई फ़ाइल से करती है। इसके बाद डिफ़ॉल्ट पुनः डाउनलोड मोड में यह गंतव्य ऑब्जेक्ट को उसी स्थान की एक अस्थायी फ़ाइल में डाउनलोड करती है, SHA-256 की गणना करती है और उस डाइजेस्ट की तुलना स्टेज किए गए स्रोत के डाइजेस्ट से करती है।

आकार और डाइजेस्ट—दोनों के मेल खाने पर ही चेकपॉइंट प्रविष्टि बनती है। चेकपॉइंट स्रोत ID, स्रोत द्वारा बताया गया आकार, गंतव्य ID, गंतव्य पाथ, वास्तविक बाइट, दोनों डाइजेस्ट और UTC में पूरा होने का समय दर्ज करता है। यदि चेकपॉइंट किया गया स्रोत पाथ बाद में किसी अलग ID या आकार की ओर इशारा करता है, तो बदले हुए डेटा को चुपचाप छोड़ने के बजाय स्क्रिप्ट रुक जाती है।

पुनः डाउनलोड करने से गंतव्य की ओर का रीड ट्रैफ़िक दोगुना हो जाता है और स्टेज की गई फ़ाइल व सत्यापन कॉपी—दोनों के लिए अस्थायी रूप से जगह चाहिए। मेटाडेटा मोड केवल तभी चुनें, जब आप इस लागत को समझते हों और सामग्री सत्यापित करने की कोई स्वतंत्र प्रक्रिया मौजूद हो।

गंतव्य पर बाइट सत्यापन
destination.redownload(uploaded, verification_copy)
verification_hash = sha256_file(verification_copy)
if verification_hash != local_hash:
    raise RuntimeError(
        f"SHA-256 mismatch after destination re-download: {relative!r}."
    )

state["completed"][relative] = {
    "source_id": item.id,
    "destination_id": uploaded.id,
    "bytes": actual_size,
    "sha256": local_hash,
    "destination_sha256": verification_hash,
}

अनिश्चितता को सफलता माने बिना फिर से शुरू करें

प्रोग्राम एक अस्थायी फ़ाइल बनाकर और उसका नाम बदलकर स्टेट को एटॉमिक तरीके से लिखता है। उस स्थायी लेखन के बाद ही सत्यापित आइटम को स्थानीय स्टेजिंग से हटाया जाता है। वही कमांड दोबारा चलाने पर चेकपॉइंट किए गए आइटम छोड़ दिए जाते हैं और लंबित पाथ पर काम जारी रहता है।

प्रदाता के अपलोड स्वीकार करने के बाद, लेकिन चेकपॉइंट लिखे जाने से पहले प्रोग्राम क्रैश हो सकता है। टकराव की स्थिति में व्यवहार fail पर सेट होने के कारण अगला रन फ़ाइल को ओवरराइट करने या सफलता का गलत दावा करने के बजाय गंतव्य के उस मौजूदा पाथ पर रुक जाता है। ऑब्जेक्ट की जाँच और तुलना करें, फिर या तो सावधानी से सत्यापित रिकवरी प्रविष्टि जोड़ें या किसी नए गंतव्य रूट में दोबारा शुरू करें।

OAuth की समय-सीमा समाप्त होने, दर सीमित किए जाने, अस्थायी सर्वर त्रुटियों और बाधित चंक्स के लिए तय सीमाओं के भीतर फिर से प्रयास किया जाता है। प्रमाणीकरण या लगातार बनी रहने वाली अनुमति संबंधी विफलताएँ प्रोग्राम को रोक देती हैं। जब तक आप विफलता को समझ न लें, तब तक लॉग, चेकपॉइंट और स्टेजिंग की सामग्री सुरक्षित रखें।

वास्तविक स्वीकृति परीक्षण करें

  • ऐसे छोटे फ़ोल्डर से शुरुआत करें जिसमें खाली फ़ाइलें, बड़ी फ़ाइलें, गहरे पाथ, Unicode नाम और Google के नेटिव दस्तावेज़ हों।
  • पहले --dry-run चलाएँ और इन्वेंट्री के कुल बाइट की तुलना प्रदाता के इंटरफ़ेस में दिखाई गई मात्रा से करें।
  • पहले प्रोडक्शन बैच के दौरान स्थानीय खाली जगह और गंतव्य कोटा पर अलग-अलग नज़र रखें।
  • पुनः डाउनलोड सत्यापन चालू रखें और चेकपॉइंट को अपने माइग्रेशन रिकॉर्ड के साथ आर्काइव करें।
  • गंतव्य में प्रतिनिधि PDFs, Office फ़ाइलें, इमेज, वीडियो, आर्काइव और कन्वर्ट किए गए नेटिव दस्तावेज़ खोलकर देखें।
  • फ़ोल्डर और फ़ाइलों की अपेक्षित संख्या की तुलना करें, छोड़े गए या विफल हुए हर आइटम की जाँच करें और किसी दूसरे उपयोगकर्ता से एक्सेस का परीक्षण करें।
  • निर्धारित ओवरलैप अवधि के दौरान स्रोत को अपरिवर्तित रखें। यह स्क्रिप्ट उसे कभी डिलीट नहीं करती।

अक्सर पूछे जाने वाले सवाल

क्या Python स्क्रिप्ट कभी स्रोत फ़ाइलें डिलीट करती है?

नहीं। स्रोत को मिटाने की सुविधा लागू नहीं की गई है। इंजन स्रोत से डाउनलोड करके एक अलग गंतव्य रूट में लिखता है; सफल सत्यापन केवल अस्थायी स्थानीय स्टेजिंग कॉपी को हटाता है।

क्या यह दोनों दिशाओं में ट्रांसफ़र कर सकती है?

हाँ। Google Drive या OneDrive में से एक को स्रोत और दूसरे प्रदाता को गंतव्य के रूप में सेट करें। हर माइग्रेशन के लिए अलग चेकपॉइंट और गंतव्य रूट का उपयोग करें।

क्या यह शेयरिंग अनुमतियों और फ़ाइल इतिहास को सुरक्षित रखती है?

नहीं। यह संस्करण फ़ाइलों की मौजूदा सामग्री और फ़ोल्डर पाथ कॉपी करता है। शेयरिंग ACL, सार्वजनिक लिंक, वर्ज़न, टिप्पणियाँ, लेबल, रिटेंशन नीति और संगठन-विशिष्ट मेटाडेटा के लिए अलग माइग्रेशन और सत्यापन आवश्यक है।

अभी-अभी अपलोड की गई फ़ाइलों को दोबारा डाउनलोड क्यों करें?

अपलोड की स्वीकृति और मेटाडेटा में दर्ज आकार यह साबित नहीं करते कि गंतव्य के सटीक बाइट दोबारा पढ़े जा सकते हैं। पुनः-डाउनलोड मोड गंतव्य सामग्री का SHA-256 निकालता है और केवल हूबहू मेल मिलने पर चेकपॉइंट बनाता है।

क्या यह Google या Microsoft का आधिकारिक टूल है?

नहीं। यह MIT लाइसेंस के अंतर्गत जारी किया गया एक स्वतंत्र FileArk संदर्भ कार्यान्वयन है। इसकी समीक्षा करें, गैर-महत्वपूर्ण डेटा के साथ इसका परीक्षण करें और अपने प्रदाता व संगठन की नीतियों का पालन करें।

इस गाइड के लिए उपयोग किए गए आधिकारिक संसाधन

गाइड पढ़ें