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 ایپلیکیشنز درکار ہوں تو اپنے فراہم کنندہ کی client ID اور secret درج کریں۔ 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بائٹس منتقل کرنے سے پہلے ایک قطعی انوینٹری منجمد کریں
ریپر rclone lsf کو صراحتاً مقررہ ٹیب سیپریٹر اور sp فارمیٹ کے ساتھ بار بار ذیلی سطحوں تک استعمال کرتا ہے، جس سے پہلے سائز اور پھر پاتھ حاصل ہوتا ہے۔ یہ تصدیق کرتا ہے کہ ہر سائز عددی اور ہر پاتھ نسبتی ہے، پھر ان پاتھز کو خارج کر دیتا ہے جو پہلے ہی تصدیق شدہ چیک پوائنٹ میں موجود ہوں۔
Bash ایڈیشن ایسے فائل نام مسترد کرتا ہے جن میں ٹیب، کیریج ریٹرن یا نئی سطر موجود ہو، کیونکہ نئی سطر سے الگ کردہ --files-from-raw فہرستیں انہیں ابہام کے بغیر ظاہر نہیں کر سکتیں۔ ایسے نام موجود ہوں تو Python ایڈیشن یا اسی مقصد کے لیے بنایا گیا انوینٹری فارمیٹ استعمال کریں۔
پاتھ چیک پوائنٹ کو جان بوجھ کر سادہ اور قابلِ معائنہ رکھا گیا ہے۔ یہ فرض کرتا ہے کہ رن کے دوران ماخذ کے پاتھ مستحکم رہیں گے۔ اگر ممکن ہو تو ماخذ پر تحریری تبدیلیاں روک دیں، یا اگر بیک وقت تبدیلیاں متوقع ہوں تو انوینٹری دوبارہ بنائیں اور فرق کا ازالہ کریں۔
rclone lsf "$SOURCE" \
--recursive \
--files-only \
--format "sp" \
--separator