কোনও ফাইলের বাধা স্ক্র্যাপ পুনরায় শুরু করার কোনও উপায় আছে কি?


12

আমি মাঝে মাঝে স্ক্যাপের মাধ্যমে একটি খুব বড় ফাইল ডাউনলোড করি এবং সংযোগের মাঝামাঝি সময়ে ট্রান্সফারটি কেটে ফেলা এবং কাটানোর খুব কম সুযোগ রয়েছে।

এটি আবার চালু করার কোনও উপায় আছে?

উত্তর:


9

আপনি নিম্নলিখিত পদ্ধতির চেষ্টা করতে পারেন: ডাউনলোড করা অংশটি এড়াতে স্কিডি পরিবর্তে ডিডি ব্যবহার করুন এবং বাকীটি ফাইলটিতে যুক্ত করুন।

sofar=`ls -l ./destfile | awk '{print $5}'`
ssh rsys "dd if=./srcfile bs=1 skip=$sofar" >> ./destfile

সম্ভাব্য অপ্টিমাইজেশন: বড় ব্লক সহ কাজ করুন। এটি একটি হোমওয়ার্ক হিসাবে ছেড়ে দিন।


আমি এখনও এটি পরীক্ষা করে দেখিনি, তবে ডিডি শব্দটি সমাধানের জন্য দুর্দান্ত পদ্ধতির মতো ব্যবহার করার পরে উত্তরটি স্থায়ীভাবে গ্রহণ করছি।
জিজে

আমি কেবল এটি পরীক্ষা করেছি, পুরোপুরি কাজ করে, ধন্যবাদ!
কোসাক

@ কোসাক, শুনে ভালো লাগল!
ইয়ার্ক

ddছোট ব্লকসাইজ সহ ধীর হতে পারে (এখানে কেবল 350 কেবি / গুলি)। ভাগ্যক্রমে, scpস্থানান্তরগুলি 1024 বাইট ব্লকগুলিতে আসে বলে মনে হচ্ছে। তাই আপনার ফাইলের জন্য (অথবা অন্য, নিকটতম 1024 বাইট ব্লক থেকে এটি ছিন্ন দ্বারা), আপনি এটি আপ ভালো গতি বাড়াতে পারেন এমন: ssh rsys "dd if=./srcfile bs=1024 skip=$sofar" >> ./destfile। (নোট করুন যে $sofarতখন এড়িয়ে যেতে 1024 বাইট ব্লকের সংখ্যা হতে হবে!)
ট্যানিয়াস

2
এটি বুঝতে আমার কিছুটা সময় লেগেছিল যে rsysদ্বিতীয় লাইনে কেবল একটি উদাহরণ হোস্টনাম যার জন্য বিশেষ তর্ক নেই ssh। আমি আপনাকে user@hostবিভ্রান্তি এড়াতে এটিকে প্রতিস্থাপনের পরামর্শ দিচ্ছি ।
আহমেদ এসম

7

সাথে scp, না।

যদি উভয় প্রান্তে থাকে তবে আপনি rsync -LvzP remoteserver:path/to/file localfileএকটি একক ফাইল স্থানান্তর করতে ব্যবহার করতে পারেন ।


এটি আমাকে বিশাল ফাইল ডাউনলোড করার কয়েক ঘন্টা বাঁচিয়েছিল যা বাধাগ্রস্ত হয়েছিল। ধন্যবাদ.
phette23

3

হ্যাঁ, বাধা দেওয়ার বিন্দু থেকে আবার শুরু করার উপায় রয়েছে তবে স্কেপপি ব্যবহার করা সম্ভব নয়। sftp reget filenameআপনার যা প্রয়োজন তা করে ইয়ারেক এবং গ্র্যাভিটি উভয়কে বৈধ সমাধান সরবরাহ করেছে যা আমি উভয়কেই +1 করি, তবে বাধাগুলি থেকে আবার শুরু করার জন্য, আমি আরএসএনসি পছন্দ করি। উদাহরণস্বরূপ আদেশগুলি উভয়ই অনুমান করে যে আপনি কোনও দূরবর্তী সার্ভার থেকে আপনার স্থানীয় ওয়ার্কস্টেশন (ডাউনলোডিং) এ একটি ফাইল পুনরুদ্ধার করছেন। দয়া করে মনে রাখবেন যে চূড়ান্ত দুটি প্যারামিটারগুলি সেই ক্রমে উত্স_ ফাইল এবং টার্গেট_ফাইলে বিবেচনা করা উচিত। উত্স বা টার্গেট ফাইল স্থানীয় বা দূরবর্তী কিনা তার উপর ভিত্তি করে ফাইলটির সিনট্যাক্স পরিবর্তিত হয়। আমি যদি [পাঠ্য] ফাইলগুলি প্রেরণ করছিলাম (আপলোড করা) থাকি তবে আমি প্রদত্ত উদাহরণগুলি আবার লিখি:

স্থানীয় থেকে দূরবর্তী
সোফার = sh ssh রিমোট_সিস্টেম ls -l বাধা_ফাইলে | awk '{মুদ্রণ $ 5}' `;
dd if = উত্স_ফিল বিএস = 1 এড়িয়ে যান = $ সোফার | ssh রিমোট_সিসটেম "বিড়াল >>। / বিপরীত_ ফাইল"

এবং rsync সমাধানে আমি যুক্ত করি -e ssh। আপনার বিবেচনা করা উচিত আপনার ভারবোসিটি, সংক্ষেপণ, মালিকানা সংরক্ষণ, অনুমতি, টাইমস্ট্যাম্প, পুনরাবৃত্ত ডিরেক্টরিগুলি ইত্যাদির প্রয়োজন কি না etc.এল প্যারামিটার সম্পর্কিত ম্যান পেজ এবং গুগল পরীক্ষা করুন। আপনি চাইবেন যে সিমলিংকগুলি উল্লেখ করার পরিবর্তে লিঙ্ক হিসাবে থাকবে।

rsync -P -e ssh local_source_file remoteserver:path/to/interrupted_target_file


1

অন্য সমাধান (ব্যতীত এর rsyncবা ddসমাধান এখানে বিবৃত) যা আমি বিস্মিত কেউ কিছু উল্লেখ করছি: এটা reputনির্দেশে sftp


0
scp -o ConnectTimeout 60

আপনাকে সংযোগের সময়সীমা নির্দিষ্ট করতে দেয়। আপনার সংযোগ বিচ্ছেদ থেকে রক্ষা করতে পারে।


0

হ্যাঁ, উভয় প্রান্ত সমর্থন যদি SFTP - পরে scp remoteuser@remotehost:/absolute/filename .ব্যর্থ হয় করছ দ্বারা পুনরায় চালু করতে পারেন sftp remoteuser@remotehostএবং তারপর reget /absolute/filenameডাউনলোড পুনরায় শুরু করতে।

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