পুনরাবৃত্তভাবে পুরো এফটিপি ডিরেক্টরি ডাউনলোড করতে উইজেট ব্যবহার করে


93

আমি একটি ফাইল থেকে অন্য হোস্টে সমস্ত ফাইল এবং ফোল্ডার অনুলিপি করতে চাই। পুরানো হোস্টের ফাইলগুলি / var / www / html এ বসে এবং আমার কাছে কেবলমাত্র সেই সার্ভারে FTP অ্যাক্সেস থাকে এবং আমি সমস্ত ফাইল TAR করতে পারি না। এফটিপি-র মাধ্যমে পুরানো হোস্টের নিয়মিত সংযোগ আমাকে / হোম / অ্যাডমিন ফোল্ডারে নিয়ে আসে।

আমি নিম্নলিখিত কমান্ডটি আমার নতুন সার্ভার রূপে চেষ্টা করেছি:

wget -r ftp://username:password@ip.of.old.host

তবে আমি যা পাই তা হ'ল একটি মেক আপ ইনডেক্স। Html ফাইল।

এফটিপি-র মাধ্যমে পুনরাবৃত্তভাবে উইজেট ব্যবহারের সঠিক বাক্য গঠন কী?


2
নোট করুন যে, ডিফল্টরূপে, উইজেট-আর এর সর্বাধিক পুনরাবৃত্তির গভীরতা 5 থাকে; আপনার যদি আরও গভীর উপ-ডিরেক্টরি রয়েছে তবে আপনি এটিকে পরিবর্তন না করা থাকলে এগুলি উপেক্ষা করা হবে (ম্যান পৃষ্ঠাতে দেখুন)।
মাইকওয়াটারগুলি

উত্তর:


125

-mজন্য চেষ্টা করুন--mirror

wget -m ftp://username:password@ip.of.old.host

15
সুরক্ষার কারণে, --ask-passwordপাসওয়ার্ড রাখা না থেকে এটি ব্যবহার করা ভাল history
চেকসাম

এই এত শান্ত. মনোমুগ্ধকর মতো কাজ করেছেন ..
সংভাব শর্মা

এটি গ্রহণযোগ্য উত্তর হওয়া উচিত (আরও ভাল দৃশ্যমানতার জন্য)।
বগন্ডি

এটি ডাউনলোডের জন্য ডিরেক্টরিটির পথ অন্তর্ভুক্ত করে না, আমি অনুমান করি @ ফর্মোডার উত্তরটি আরও ভাল
ওয়াসিম এ।

@ ওয়াসিমা।, আপনি কেবল এখানে ডিরেক্টরি পথ যোগ করতে পারেন:wget -m ftp://username:password@ip.of.old.host/mydir/
অ্যালেক্স চে

37

আপনার এটি ঠিক আছে, আপনার কেবল শেষের দিকে একটি চলমান * দরকার:

wget -r ftp://username:password@1.2.3.4/dir/*

ভাগ করা সার্ভারগুলির জন্য, আপনি এটি ব্যবহার করতে পারেন:

wget -r ftp://1.2.3.4/dir/* --ftp-user=username --ftp-password=password

যেহেতু বেশিরভাগ ভাগ করা সার্ভারের এফটিপি-ব্যবহারকারীর নাম যেমন @ হোস্টনাম, তাই প্রথম উইজেট কমান্ডটি কাজ করে না, এবং দ্বিতীয় কমান্ডটি ঠিক কাজ করে।


1
এটি কেবল একটি ডিরেক্টরি গভীরে যাবে-এম-পতাকা ব্যবহার করতে আরও ভাল
SvennD

কিছু ক্ষেত্রে দ্বিতীয় কমান্ড স্থানের কারণে কাজ করছে না, আপনি এইভাবে শেয়ার হোস্টিংয়ের জন্য প্রথম কমান্ড ব্যবহার করতে পারেন। ** wget -r ftp: / / ব্যবহারকারীর% 40 হোস্ট: পাসওয়ার্ড @ হোস্ট / দির / **
ওয়াসিম এ।

দ্রষ্টব্য: আপনার হয় -mবা -r -l infএটি ব্যবহার করা উচিত কারণ -r এর ডিফল্ট পুনরাবৃত্তির গভীরতা 5 রয়েছে gnu.org/software/wget/manual/…
এনডিউম

7

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

lftp -c 'open <hostname>; user <username> <password>; mirror -e <remote-src-path> <local-dest-path>; quit'

এটি স্বয়ংক্রিয়ভাবে ডিরেক্টরিগুলিতে পুনরাবৃত্তি পরিচালনা করে এবং দূরবর্তী উত্স থেকে ডিরেক্টরিটি থেকে ডেটা ডাউনলোড করা নির্দিষ্ট করে।


5

আপনি 'কার্লফটপিএফস - একটি স্থানীয় ডিরেক্টরি হিসাবে একটি এফটিপিপি হোস্ট মাউন্ট করতে পারেন' এবং একবার মাউন্ট করার পরে আপনি 'সিপি-আর' এর মতো সাধারণ ফাইল সরঞ্জামগুলি ব্যবহার করতে পারেন।


curlftpfsআপনি ডাউনগ্রেড না করলে এখনই বড় পারফরম্যান্স সমস্যা রয়েছেlibcurl3-gnutls
হেনজি

5

পুনরাবৃত্তিভাবে এফটিপি থেকে ডেটা ডাউনলোড করতে নীচের উইজেট কমান্ডটি দেখুন।

wget --user="<user-name>" --password="<password>" -r -np -nH --cut-dirs=1 --reject "index.html*" "<URL to download files>"

-r: পুনরাবৃত্তভাবে ডাউনলোড করার জন্য।

-np: কোন পিতামাতার আরোহণের জন্য।

-nH: ইউআরএল যেমন abc.xyz.com এর নামের মতো ডিরেক্টরি তৈরি করা অক্ষম করার জন্য

--cut-dirs: পিতামাতার ডিরেক্টরি সংখ্যার উপেক্ষা করার জন্য। আপনার আদেশের জন্য এই বিকল্পটির মান পৃথক হবে।

উপরের কমান্ডটি প্রয়োগ করে আপনি পরীক্ষা করতে পারেন।



2

কাজের চেষ্টা করা উচিত:

wget -r ftp://ftp:ftp@ftp.sunet.se/tst/

2

ব্যবহার করুন:

wget -m ftp://192.168.0.1

এবং এটি সমস্ত ফাইল এবং ফোল্ডারগুলি আয়না করে দেবে।


যেমনটি আমি বলেছি, FTP- র মাধ্যমে লগ ইন করা আমাকে / হোম / অ্যাডমিন ফোল্ডারে নিয়ে যায় এবং আমার প্রয়োজনীয় ফাইলগুলি / var / www / html এ থাকে আমি এটি 192.168.0.1/var/www/html দিয়ে চালানোর চেষ্টা করেছি , তবে তারপরে এটি সিডব্লিউডি / হোম / অ্যাডমিন / ভার / www / এইচটিএমএল চেষ্টা করে। মূল থেকে এই ফোল্ডারে যেতে কীভাবে করব?

এই বিশেষ সমস্যাটির সাথে আমার কোনও অভিজ্ঞতা নেই তবে আপনি নিজের বাড়ির নীচে / var / www / html তে একটি সিমিলিং তৈরি করার চেষ্টা করতে পারেন। তারপরে আপনি 192.168.0.1/html
প্রিস্টোমেশন

আমি একটি সিমিলিংক তৈরি করার চেষ্টা করেছি, তবে এটির ফলে আমার স্থানীয়তে উইজেটের অনুরূপ একটি সিমলিংক তৈরি হয়েছিল।

1

এটা সঠিক বাক্য গঠন। আপনি কেন প্রত্যাশিত ফলাফল পাচ্ছেন না তা নিশ্চিত নয়।

এটি করার জন্য একাধিক উপায় রয়েছে। বিশেষভাবে এনসিএফপিজেটে, এনসিএফটিপি চেষ্টা করুন


আমি আমার নতুন সার্ভারে আরও সফ্টওয়্যার ইনস্টল করতে পারি না। আমি কি উইজেটকে / var / www / html থেকে সমস্ত ফাইল ডাউনলোড করতে বলছি না? আমি উইজেট-আর ব্যবহারকারীর নাম: password@ip.of.old.host/var/www/html চেষ্টা করেছি কিন্তু আমার একটি ডিরেক্টরিতে ত্রুটি পাওয়া যায় নি।

1

আমি বুঝতে পারি যদি আপনি এটি ক্রোন বা অন্য কিছুতে ফেলে দেওয়ার চেষ্টা করছেন তবে কেন আপনার সাধারন ক্লায়েন্ট এবং মজেট * দিয়ে সার্ভারে কেবল এফটিপি হবে না? এটি সাফল্যের দ্রুত পথ হতে পারে।


আমি মজেট * চেষ্টা করেছিলাম তবে এটি সাব-ফোল্ডারগুলির সাথে কাজ করে নি, স্থানীয় সাব-ফোল্ডারটি বিদ্যমান নেই বলে। তাকে কীভাবে স্থানীয় ফোল্ডারগুলি স্বয়ংক্রিয়ভাবে তৈরি করার উপায় আছে?

আপনার ক্লায়েন্টের উপর নির্ভর করে -আর সুইচ সাধারণত কৌশলটি করে। IE: mget -r *
dr.pooter

MMM। লিনাক্স-এ এএফআইএকি স্ট্যান্ডার্ড এফটিপি ক্লায়েন্ট ডিরেক্টরিগুলি পুনরুক্তি পুনরুদ্ধার করার জন্য ডিজাইন করা হয়নি। মানে - কোনও বিকল্প নেই। অন্যান্য ক্লায়েন্ট যেমন এনসিএফটিপি বা এলএফটিপি পুনরাবৃত্তির পুনরুদ্ধারকে সমর্থন করে তবে তারা সাধারণত ডিফল্টরূপে উপলভ্য হয় না।
স্ট্যান

1

যেমনটি আমি বলেছি, FTP- র মাধ্যমে লগ ইন করা আমাকে / হোম / অ্যাডমিন ফোল্ডারে নিয়ে যায় এবং আমার প্রয়োজনীয় ফাইলগুলি / var / www / html এ থাকে

আমি মনে করি এটি আপনার ক্ষেত্রে কার্যকর হবে:

wget -r ftp://192.168.0.1/../../var/www/html

0

আমি উইন্ডোজ হোস্টিং জুড়ে ব্রিনকস্টার / ব্যবহারকারীর নাম হিসাবে ব্যবহারকারীর নামটি নিয়ে এসেছি, সুতরাং আপনি যদি সিনট্যাক্সটি ব্যবহার করেন তবে উইজেট কোনও ত্রুটি ফেলবে:

wget -m ftp://brinkster/username:password@ip.of.the.host

এটি অতীত পেতে, ব্যবহার করুন

wget -m ftp://brinkster%2Fusername:password@ip.of.old.host

উইন্ডোজ হোস্টিং @ ব্রিংস্টার এর সাথে আমাকে এর মুখোমুখি হতে হয়েছিল।


-3

wget --user username --password yourpassword ftp://example.com/ftpfiles/filename কাজটি করবে বা আপনি ফাইলের নাম প্রবেশের পরিবর্তে * যুক্ত করতে পারেন: উইজেট আপনার ক্ষেত্রে অবৈধ পোর্টের কথা চিন্তা করে।


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