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