কার্ল দিয়ে পুনরায় চেষ্টা শুরু করা পুনরায় চেষ্টা করা হচ্ছে


17

আমি ম্যাকের সাথে রয়েছি এবং একটি এফটিপি সার্ভার থেকে ডাউনলোড করতে চাইলে ফাইলগুলির একটি তালিকা আছে। সংযোগটি কিছুটা বগিযুক্ত তাই আমি আবার চেষ্টা করে দেখতে চাই এবং সংযোগ বাদ দিলে পুনরায় শুরু করতে চাই।

আমি জানি আমি এটি উইজেটের মাধ্যমে করতে পারি, তবে দুর্ভাগ্যক্রমে ম্যাক ওএস এক্স উইজেটের সাথে আসে না। আমি এটি ইনস্টল করতে পারি, তবে এটি করতে (যদি আমি কিছু মিস না করি তবে) প্রথমে এক্সকোড এবং ম্যাকপোর্টস ইনস্টল করা দরকার যা আমি এড়াতে চাই।

কার্লটি মনে হলেও এটি উপলভ্য, তবে কীভাবে এটি কার্যকর হয় বা কীভাবে এটি ব্যবহার করা যায় তা আমি জানি না। আমার কাছে যদি কোনও টেক্সট ফাইলে ফাইলগুলির একটি তালিকা থাকে (লাইনে প্রতি এক সম্পূর্ণ পথ, যেমন ftp: // ব্যবহারকারী: পাস @ সার্ভার / ডির / ফাইল 1 ) কীভাবে আমি এই সমস্ত ফাইল ডাউনলোড করতে কার্ল ব্যবহার করতে পারি? এবং আমি কি হাল ছেড়ে দিতে কার্ল পেতে পারি? পছন্দ করুন, অসীম পুনরায় চেষ্টা করুন এবং ডাউনলোডগুলি আবার শুরু করুন যেখানে এটি ছেড়ে গেছে এবং এরকম?

উত্তর:


20

গুগলিং এবং ম্যান পড়ার পরে এবং এরকম কিছু সময়ের জন্য আমি এমন একটি সমাধান বের করেছি যা আমার পক্ষে কার্যকর হয়েছিল:

curl ftp://server/dir/file[01-30].ext --user user:pass -O --retry 999 --retry-max-time 0 -C -
  • [01-30] এটি ফাইল01.ext, file02.ext এবং এর মতো 30 টি ফাইল ডাউনলোড করবে
  • --user user:pass সুস্পষ্ট হওয়া উচিত
  • -O আসল নাম সহ ফাইলগুলিতে আউটপুট দিতে
  • --retry 999 999 বার আবার চেষ্টা করতে
  • --retry-max-time 0এটিকে পুনরায় চেষ্টা করার সময় থেকে বিরত রাখতে। পূর্বনির্ধারিত আচরণ যদি আপনি একটি নির্দিষ্ট --retry-বিলম্ব নির্দিষ্ট না করেন তবে তা পুনরায় চেষ্টা করার মধ্যে প্রথমে এক সেকেন্ড ঘুমানো হয়, তারপরে এটি দ্বিগুণ হয়, যতক্ষণ না এটি 10 ​​মিনিটে পৌঁছায়। পুনরায় চেষ্টা মধ্যে
  • -C -এটি কমে গেছে যেখানে এটি চালিয়ে যাওয়ার জন্য (যদি আপনি আবার কমান্ডটি চালান)। এর পরে ড্যাশ কোথা থেকে আবার শুরু করতে হবে তা নির্ধারণ করতে বলে

পরিবর্তে যদি কোনও ফাইল থেকে ফাইলের নামগুলি কীভাবে পেতে হয় তা যদি কেউ জানেন তবে দয়া করে আমাকে জানান।


ম্যান পেজে এটি নিম্নরূপ বলে:

--url <URL>
আনতে একটি URL উল্লেখ করুন Spec আপনি যখন কোনও কনফিগার ফাইলে ইউআরএল (গুলি) নির্দিষ্ট করতে চান তখন এই বিকল্পটি বেশিরভাগই কার্যকর।

দেখে মনে হচ্ছে এটি কিছু হতে পারে তবে এটি কীভাবে ব্যবহৃত হবে তা পুরোপুরি বুঝতে পারছেন না ...


2

একটি কনফিগার ফাইল নির্দিষ্ট করতে কার্ল করতে আপনি -K বিকল্পটি ব্যবহার করতে পারেন। সেক্ষেত্রে আপনি সিনট্যাক্সটি ব্যবহার করুন:

optionname=<value>

আপনার যদি URL টির একটি তালিকা যুক্ত একটি ফাইল থাকে তবে আপনি এই জাতীয় কার্ল ব্যবহার করতে পারেন:

sed 's/\(.*\)/-O\nurl=\1/g' url_list.txt | curl -K -

যা ইউআরএলগুলির একটি তালিকা রূপান্তর করে, যেমন:

http://host1.com/foo.html
http://host2.com/bar.html

এটির মতো বিন্যাসে:

-O
url=http://host1.com/foo.html
-O
url=http://host2.com/bar.html

কার্ল এটি পড়ে এবং সেইগুলির মতো প্রতিটি বিকল্পের ব্যাখ্যা করে।

আছে HTH,

আদম

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