পোর্ট ফরওয়ার্ডিং ব্যবহার করার সময় আমি কীভাবে একটি বড় স্কিপি ফাইল স্থানান্তর পুনরায় শুরু করতে পারি?


10

আমার কাছে কয়েক মাপের একটি মেশিন রয়েছে এবং ফাইল স্থানান্তর করতে আমার পোর্ট ফরওয়ার্ডিং সেটআপ করতে হবে।

সম্পাদনা: পরিষ্কার হতে, দূরবর্তী মেশিনে অ্যাক্সেস করার জন্য একাধিক হুপের প্রয়োজন। আমার মেশিন থেকে, আমি একটি ভিপিএন স্থাপন করেছি, যেখানে আমি 10.255.xx অ্যাক্সেস করতে পারি - এটিই কেবলমাত্র মেশিন যা আমি ভিপিএন এর মাধ্যমে সংযোগ করতে পারি। .Xx এ একবার লগইন হয়ে গেলে আমি তার পরে অন্য মেশিনে সংযুক্ত হতে পারি - .আমি সেগুলির মধ্যে একজন।

আমার যন্ত্র থেকে:

ssh -L 4567:localhost:4567 me@10.255.x.x

তারপরে সেই মেশিন থেকে:

ssh -L 4567:localhost:22 me@10.255.y.y

আমি তখন পারি

scp -P 4567 me@localhost:/path/to/large/file.gz .

আমি এই চলমান রাতারাতি ছেড়ে চলেছি, কেবল এটি সন্ধান করতে যে স্থানান্তরটি কোনও পর্যায়ে মারা গেছে।

আমি স্থানান্তর পুনরায় শুরু করতে ssh ওপরে আরএসসিএনসি ব্যবহার করার জন্য বেশ কয়েকটি পরামর্শ দেখেছি, তবে কীভাবে সেট আপ করব তা আমি অস্পষ্ট। এটা কি সম্ভব?


এই সমস্ত কক্ষগুলি কীসের জন্য? scp me@10.255.x.x:/path/to/large/file.gz .ঠিক কি অর্জন করতে হবে না ? Scp (ssh) এর কোন সংস্করণ ক্লায়েন্ট এবং সার্ভারে ইনস্টল করা আছে?
ডেনিস

@ ডেনিস: scp একটি স্থানান্তর পুনরায় শুরু করতে সমর্থন করে না - আপনার পরামর্শ অনুসারে ডাউনলোডটি পুনরায় চালু হবে।
ক্রিস

কিছু সংস্করণ (আমার ল্যাপটপের স্কিপগুলি করে, আমার ভিপিএস দেয় না) করে। আমি জিজ্ঞাসা করার কারণটি হপসটি আমার কাছে অপ্রয়োজনীয় বলে মনে হচ্ছে, এবং হप्स ছাড়াই সংযুক্তি করা অনেক সহজ হবে।
ডেনিস

উত্তর:


9

Scp এর কিছু সংস্করণ (উত্স কম্পিউটারের সংস্করণটি মূল বলে মনে হচ্ছে) এর সাথে, কেবলমাত্র scp কমান্ড পুনরায় কার্যকর করা স্থানান্তর পুনরায় চালু করার জন্য যথেষ্ট। কিন্তু সতর্কতা অবলম্বন করা আবশ্যক! যদি আপনার সংস্করণ আংশিক স্থানান্তরকে সমর্থন করে না, তবে আংশিক ফাইলটি সরানো হবে।

নীচের আরএসসিএনসি সুইচগুলি ভাঙা স্থানান্তর পুনরায় শুরু করার জন্য কার্যকর যদি স্কিপ সমর্থন করে না:

     --append                append data onto shorter files
     --append-verify         like --append, but with old data in file checksum
 -e, --rsh=COMMAND           specify the remote shell to use
     --progress              show progress during transfer

আদেশ

rsync --append-verify --progress --rsh="ssh -p 4567" me@localhost:/path/to/large/file.gz .

পছন্দসই প্রভাব থাকতে হবে। মনে রাখবেন যে -pssh এর জন্য সুইচটি অবশ্যই ছোট হাতের হতে হবে।


গন্তব্য সার্ভারের নেটওয়ার্কটি যেভাবে কনফিগার করা হয়েছে তার কারণে হપ્સগুলির প্রয়োজন। Ssh ওপরে আরএসআইএনসি ব্যবহার করে সমস্যাটি হ'ল আমাকে লোকাল পোর্ট 4567 ব্যবহার করা দরকার, ফাইলটি 10.255.xx সার্ভারে বিদ্যমান নেই।
খ্রিস্ট

আমার ভুল. আমি ধরে নিচ্ছিলাম যে 10.255.y.yক্লায়েন্ট কম্পিউটার।
ডেনিস

আমি আমার উত্তর আপডেট করেছি।
ডেনিস

আর আরএসসিএন ব্যবহার করার উপায় না থাকলে কী করবেন? আমার ক্ষেত্রে আমি কেবল রিমোট হোস্টে এফটিপি উপলব্ধ।
dr.dimitru

1
@ এঞ্জো প্রশ্নটি এসসিপি সম্পর্কে, উত্তরটি স্কিপি সম্পর্কে হওয়া দরকার। প্রশ্নটি একটি অসম্পূর্ণ স্ক্রিপ স্থানান্তর সম্পর্কে, স্ক্যাপ সরঞ্জাম সম্পর্কে নয়। এটি আক্ষরিকভাবে বলেছে যে আমি ট্রান্সফারটি পুনরায় শুরু করতে ssh এর মাধ্যমে rsync ব্যবহার করার জন্য বেশ কয়েকটি পরামর্শ দেখেছি, তবে কীভাবে সেট আপ করব তা আমি অস্পষ্ট। এটা কি সম্ভব? নিচে.
ডেনিস

3

Scp এর পরিবর্তে sftp ব্যবহার করুন

আপনার ক্ষেত্রে:

sftp -a -P 4567 me@localhost:/path/to/large/file.gz .

Sftp ম্যান পৃষ্ঠা থেকে:

-a      Attempt to continue interrupted downloads rather than overwriting existing partial or complete copies of files.  If the remote file contents differ from the partial local copy then the resultant file is likely to be corrupt.

1

rsync ডিফল্টরূপে ssh ব্যবহার করে, আপনাকে rsync -e সুইচ ব্যবহার করে সঠিক ssh কমান্ড নির্দিষ্ট করতে হতে পারে। এটিতে একটি - পার্টিশিয়াল রয়েছে যা অসম্পূর্ণ ফাইলটিকে প্রায় রাখে যাতে এটি স্থানান্তর পুনরায় শুরু করতে পারে।


-1

আমি দেখতে পাচ্ছি না আপনার টানেলের মূল বিষয় কী, তাই আমি কীভাবে আপনার সমস্যার সমাধান করতে যাব:

ssh -R $tunnelPort:localhost:$localSSHPort $remoteUser@$remoteHost -p $remoteSSHPort

এটি স্থানীয় মেশিন (লোকালহোস্ট) থেকে দূরবর্তী মেশিনে (রিমোটহোস্ট) একটি বিপরীত সুড়ঙ্গ খোলে। $ টানেলপোর্টটি এমন একটি বন্দর যা এর উপরে সুড়ঙ্গটি রিমোটহোস্টে পাওয়া যায়। SS লোকালএসএইচপিপোর্ট হ'ল বন্দর যেখানে লোকাল এসএসডিডি চালায় এবং $ রিমোট এসএসপিপোর্ট যেখানে রিমোটহোস্টের এসএসডি শোনা।

এখন আপনি যে (বিপরীত!) টানেলের ভিতরে রয়েছেন আপনি ডেনিসের প্রস্তাব অনুযায়ী কম বা কম করতে পারেন:

rsync --apend-verify -az -e 'ssh -p $tunnelPort' /path/to/large/file $user@localhost:/destination

-y এবং -z ফ্ল্যাগগুলি RSSync এর ম্যান পৃষ্ঠাতে ব্যাখ্যা করা হয়েছে, সুতরাং আমি এগুলি বিস্তারিত বলব না। এখন যা ঘটে তা হ'ল আপনি যখন উপরের মতো রিমোটহস্টে আরএসসিএন চালান তখন এটি সমস্ত ডেটা বন্দর $ টানেলপোর্টে ঠেলে দেয় যা পরে আপনার লোকালহোস্টের এসএসডি-লোকাল এসএসপিপোর্টে ফরোয়ার্ড করা হয়।

আশা করি যে সাহায্য করেছে।


@ উদ্ভুত: আমি টানেলগুলির জন্য একটি ব্যাখ্যা যুক্ত করেছি।
খ্রিস্ট
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.