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


19

আমি একটি স্থানীয় ডিরেক্টরি একটি দূরবর্তী সার্ভারে অনুলিপি করার জন্য একটি লিনাক্স শেল স্ক্রিপ্ট লিখছি (বিদ্যমান ফাইলগুলি মুছে ফেলুন)।

স্থানীয় সার্ভার: ftp এবং lftpআদেশগুলি উপলভ্য, কোনও ncftp বা কোনও গ্রাফিকাল সরঞ্জাম নেই।

রিমোট সার্ভার: কেবল এফটিপি এর মাধ্যমে অ্যাক্সেসযোগ্য। কোনও আরএসআইএনসি বা এসএসএইচ বা এফএক্সপি নেই।

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

দ্রষ্টব্য: কেবলমাত্র পরিবর্তিত ফাইল আপলোড করা একটি প্লাস হতে পারে, তবে প্রয়োজন হয় না।


এনসিএফটিপি কি পুরোপুরি প্রশ্ন ছাড়ছে? সবচেয়ে সহজ imho হবে। (এবং আমি জানি যে আমি সেভাবে এটি ব্যবহার করার সাথে সাথে এটি করব)
সিরেক্স

সিরেক্স: আমি বরং রেডহ্যাটে ডিফল্টরূপে আসা সরঞ্জামগুলির সাথে এটি করতে চাই। যদি lftp অকেজো প্রমাণ করে, আমি ব্যবহারকারীদের এনসিএফপিপি ইনস্টল করার জন্য একটি প্রয়োজনীয়তা যুক্ত করব।
নিকোলাস রাউল

সিনট্যাক্স wput(একটি wput dir/ ftp://user:pass@host/dir
উইজেটের

উত্তর:


39

lftp এক ধাপে এটি করতে সক্ষম হওয়া উচিত, বিশেষত lftp mirror:

সম্পাদনা করুন: lftp কমান্ড সিনট্যাক্স বিভ্রান্ত করছে, মূল পোস্টটি আমি পোস্ট করি তা কার্যকর হয় না। এটির মতো চেষ্টা করুন:

lftp -e "আয়না -আর {স্থানীয় দির {{রিমোট দির}" -u {ব্যবহারকারীর নাম}, {পাসওয়ার্ড {{হোস্ট}

-eস্যুইচটিতে আর্গুমেন্টের চারপাশে উদ্ধৃতিগুলি নোট করুন ।


1
+1 আমায় tipping lftp, এর মিরর মোড কাজ করে এমনকি যদি FXP (আমি পড়ার পর বিপরীত বিশ্বাস ছিল উপলব্ধ নয় জন্য tutorials.papamike.ca/pub/lftp.html যা বলে "উভয় সার্ভারের জন্য এই অপারেশন সফল করতে এই প্রোটোকল সমর্থন করতে হবে ")। যাইহোক, এই নির্দিষ্ট কমান্ডটি আমার উবুন্টু সার্ভারে ব্যর্থ হয়েছে: lftp: আয়না: নাম বা পরিষেবা জানা যায়নি, অজানা আদেশ `-R '।
নিকোলাস রাউল

আমি আমার উত্তরটি এলএফডিপি-র একটি আরও ভাল অনুরোধের সাথে উচ্চারণ করেছি, আশা করি এটি সাহায্য করবে।
ফিল হলেনব্যাক

আমি অবশেষে এটি কাজ করতে gt! দেখে মনে হচ্ছে এটির কাজ করার জন্য আপনাকে অবশ্যই দূরবর্তী এবং স্থানীয় পরিবর্তন করতে হবে। দয়া করে আপডেট করুন এবং আমি এই উত্তরটি গ্রহণ করব। এখানে একটি কমান্ড লাইন কাজ করে: lftp -e "মিরর -R / tmp / mylocalfiles / var / www" -u রিমোটিউজার, রিমোটপ্যাসওয়ার্ড রিমোটসারভার
নিকোলাস রাউল

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

কিভাবে এটি ব্যর্থ হয়? আপনি কী চেষ্টা করছেন তা নির্ধারণ করতে আরও ভার্বোজ আউটপুট জন্য 'lftp -vvv' চালানোর চেষ্টা করেছেন?
ফিল হলেনব্যাক

1

Lftp এর আয়না মোড ব্যবহারের ফিলের ধারণার ভিত্তিতে, এই আদেশটি কৌশলটি সম্পাদন করে:

lftp -c 'open -e "mirror /tmp/thedir ftp://nico:mypass@remotehost/~/destination/" ftp://nico:mypass@localhost'

একটি অপূর্ণতা হ'ল এটিতে এফটিপি সার্ভার চলমান লোকাল সার্ভারের প্রয়োজন।


1
cd {local_dir}
lftp {server}
cd {remote_dir}
mput {local_dir}/*

এটি আমার পক্ষে কাজ করেছিল, অন্য অনেক প্রচেষ্টা ব্যর্থ হয়েছিল। একবার lftp এ, আরও তথ্যের মাধ্যমে উপলভ্য:

help mput

2
এটি সম্ভবত mirror -Rএখানে ব্যবহার করা ভাল ।
গৌতেহ

@Gauteh আপনি ঠিক বলেছেন সেরা উত্তর ^
অস্টিন ২

0

শেষ পর্যন্ত উত্তর পেয়ে গেল !!! শেল স্ক্রিপ্ট ftpmirror.sh তৈরি করুন

#!/bin/bash 
path = /local-dir-path
lftp -e "mirror -R $path /$path" -u username,password ftp-server-ip
  • পাথ = স্থানীয় ডিরেক্টরি যা আমরা এফটিপি সার্ভারে অনুলিপি করতে চাই
  • ব্যবহারকারীর নাম = ftp সার্ভার ব্যবহারকারীর নাম
  • পাসওয়ার্ড = এফটিপি সার্ভারের পাসওয়ার্ড
  • ftp-server-ip = এফটিপি সার্ভারের আইপি ঠিকানা

Lftp প্যাকেজ ইনস্টল না করা থাকলে এটি yum ব্যবহার করে ইনস্টল করা আছে।

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