Bash + rclone · OneDrive ↔ Google Drive · ओपन-सोर्स संचालन गाइड
rclone के साथ Bash में केवल-कॉपी क्लाउड ट्रांसफ़र
rclone पहले से ही क्लाउड पेजिनेशन, पुनः प्रयास, फिर से शुरू किए जा सकने वाले ट्रांसफ़र और प्रोवाइडर हैश को समझता है। इंजीनियरिंग का काम इन मूल क्षमताओं को ऐसी संचालन प्रक्रिया में समेटना है जो त्रुटि होने पर सुरक्षित रूप से बंद हो और उपलब्ध क्षमता को ध्यान में रखे।
अपडेट किया गया ; 20 मिनट में पढ़ें.
संक्षिप्त उत्तर
बड़े या बिना निगरानी वाले माइग्रेशन के लिए FileArk अधिक सरल प्रबंधित विकल्प है: यह ट्रांसफ़र ऑनलाइन चलाता है, इसे कई टेराबाइट के वर्कलोड पर परखा गया है और यह पूरा होने से पहले हर परिणाम की जाँच करता है। जो ऑपरेटर डेटा पाथ को शेल से नियंत्रित करना चाहते हैं, उनके लिए MIT-लाइसेंस वाला यह Bash रैपर स्थानीय स्टेजिंग के माध्यम से सीमित बैच कॉपी करता है, दोनों चरणों का बाइट-दर-बाइट सत्यापन करता है और स्रोत फ़ाइलों को कभी नहीं हटाता।
हर प्रोवाइडर क्लाइंट को फिर से बनाने के बजाय rclone के लिए रैपर क्यों बनाएँ
rclone किसी शेल वर्कफ़्लो को परिपक्व प्रोवाइडर एब्स्ट्रैक्शन, OAuth कॉन्फ़िगरेशन, पेजिनेशन, पुनः प्रयास का व्यवहार, फिर से शुरू किए जा सकने वाले ट्रांसफ़र, समवर्ती संचालन के नियंत्रण, इन्वेंटरी कमांड और सत्यापन कमांड उपलब्ध कराता है। इसलिए रैपर माइग्रेशन के अपरिवर्तनीय नियमों पर ध्यान दे सकता है: केवल कॉपी करने वाले वर्ब, सीमित स्टेजिंग, क्षमता रिज़र्व, नियतात्मक फ़ाइल सूचियाँ और टिकाऊ प्रगति रिकॉर्ड।
इससे काम स्वचालित नहीं हो जाता। रिमोट कॉन्फ़िगरेशन, टोकन सुरक्षा, नेटवर्क की उपलब्धता, प्रोसेस की निगरानी, स्थानीय डिस्क, लॉग, प्रोवाइडर सीमाएँ, विफल ऑब्जेक्ट की समीक्षा और डेस्टिनेशन की स्वीकृति की ज़िम्मेदारी अब भी ऑपरेटर की होती है। FileArk उन उपयोगकर्ताओं के लिए है जो इस प्रक्रिया को अपने वर्कस्टेशन या सर्वर के बजाय प्रबंधित ऑनलाइन वर्कफ़्लो के रूप में संचालित कराना चाहते हैं।
स्क्रिप्ट स्पष्ट रूप से कभी भी rclone move, sync, delete, purge या rmdirs नहीं चलाती। यह खोज के लिए lsf और about, हर चरण के लिए copy और सभी बाइट के सत्यापन के लिए check --download का उपयोग करती है। केवल स्थानीय स्टेजिंग डायरेक्टरी से सत्यापित फ़ाइल हटाई जाती है।
Bash संस्करण और MIT लाइसेंस डाउनलोड करें
Bash और rclone ट्रांसफ़र प्रोग्राम डाउनलोड करें
बैच सीमाओं, स्थानीय और डेस्टिनेशन रिज़र्व, सभी बाइट के सत्यापन, चेकपॉइंट, पुनः प्रयास नियंत्रण और नेटवर्क के बिना चलने वाले डेमो वाला केवल-कॉपी रैपर।fileark-cloud-transfer.sh · Bash 4+ · rclone · jq · MIT लाइसेंस
MIT लाइसेंस डाउनलोड करें
FileArk की दोनों मैन्युअल-ट्रांसफ़र स्क्रिप्ट पर लागू अनुमति सूचना।LICENSE-fileark-cloud-transfer.txt · MIT · सादा टेक्स्ट
नेटवर्क के बिना ऑपरेटर डेमो चलाएँ

डेमो को rclone या jq इंस्टॉल होने से पहले भी सुरक्षित रूप से चलाया जा सकता है, क्योंकि आर्ग्युमेंट पार्सिंग डिपेंडेंसी जाँच से पहले ही समाप्त हो जाती है। आउटपुट में प्रतिबंधित विनाशकारी ऑपरेशनों के नाम दिए जाते हैं, दोनों क्षमता रिज़र्व दिखाए जाते हैं और अंत में स्रोत से हटाई गई फ़ाइलों की संख्या दिखाई जाती है।
chmod +x fileark-cloud-transfer.sh
bash -n fileark-cloud-transfer.sh
./fileark-cloud-transfer.sh --demo
./fileark-cloud-transfer.sh --helpऑपरेटर डिपेंडेंसी इंस्टॉल और कॉन्फ़िगर करें
आधिकारिक निर्देशों का उपयोग करके rclone का नवीनतम रिलीज़ इंस्टॉल करें और अपने ऑपरेटिंग सिस्टम के पैकेज मैनेजर से jq इंस्टॉल करें। Bash 4 या उसके बाद का संस्करण आवश्यक है, क्योंकि रैपर सख़्त त्रुटि प्रबंधन और आधुनिक कंडीशनल एक्सप्रेशन का उपयोग करता है।
rclone config चलाएँ और अलग-अलग नाम वाले दो रिमोट बनाएँ, जैसे onedrive: और gdrive:। जब नीति या दर सीमाओं के कारण समर्पित OAuth ऐप्लिकेशन आवश्यक हों, तो अपना प्रोवाइडर क्लाइंट ID और सीक्रेट दर्ज करें। rclone अपने कॉन्फ़िगरेशन फ़ाइल में OAuth टोकन संग्रहीत करता है; उस फ़ाइल को सख्त अनुमतियों से सुरक्षित रखें और उसे कभी भी स्क्रिप्ट के साथ बंडल न करें।
रैपर चलाने से पहले केवल-पढ़ने वाली लिस्टिंग और कोटा कमांड से हर रिमोट की पुष्टि करें। जब दायरे में केवल कोई सबट्री हो, तो onedrive:Department/Archive जैसे पाथ का उपयोग करें।
rclone version
rclone config
rclone lsd onedrive:
rclone lsd gdrive:
rclone about onedrive: --json | jq
rclone about gdrive: --json | jqबाइट ट्रांसफ़र करने से पहले एक नियतात्मक इन्वेंटरी फ़्रीज़ करें
रैपर स्पष्ट टैब सेपरेटर और sp फ़ॉर्मैट के साथ rclone lsf का रिकर्सिव रूप से उपयोग करता है, जिससे पहले साइज़ और फिर पाथ मिलता है। यह पुष्टि करता है कि हर साइज़ संख्यात्मक और हर पाथ रिलेटिव है, फिर सत्यापित चेकपॉइंट में पहले से मौजूद पाथ को बाहर कर देता है।
Bash संस्करण उन फ़ाइल नामों को अस्वीकार करता है जिनमें टैब, कैरिज रिटर्न या नई पंक्ति होती है, क्योंकि नई पंक्ति से अलग की गई --files-from-raw सूचियाँ उन्हें बिना अस्पष्टता के प्रस्तुत नहीं कर सकतीं। ऐसे नाम मौजूद होने पर Python संस्करण या खास तौर पर बनाया गया इन्वेंटरी फ़ॉर्मैट इस्तेमाल करें।
पाथ चेकपॉइंट को जानबूझकर सरल और निरीक्षण योग्य रखा गया है। यह मानकर चलता है कि रन के दौरान स्रोत पाथ स्थिर रहेंगे। संभव हो तो स्रोत पर लिखने की क्रिया रोक दें; या समवर्ती बदलाव अपेक्षित हों, तो इन्वेंटरी फिर से बनाकर उसका मिलान करें।
rclone lsf "$SOURCE" \
--recursive \
--files-only \
--format "sp" \
--separator