উত্তর:
sftp
যেমন cp
এবং scp
এরও দরকার হয় যে আপনি যখন কোনও ফোল্ডারটি (এবং এর সামগ্রীগুলি স্পষ্টতই) অনুলিপি করেন তখন আপনাকে স্পষ্টভাবে বলতে হয় যে আপনি -r
বিকল্পটি দিয়ে পুনরাবৃত্তভাবে ফোল্ডারটি স্থানান্তর করতে চান ।
সুতরাং, -r
কমান্ড যোগ করুন ।
-r
করার জন্য sftp
কমান্ড যখন আপনি সংযুক্ত করছি। sftp -r user@host
Couldn't canonicalise: No such file or directory
।
# sftp user@remote-host
#> get -r remote-folder
আমি কেবল পরামর্শ দিতে পারি, আপনি ব্যবহার করুন rsync
। সুরক্ষিত সংযোগের মাধ্যমে ফাইলগুলি সরানোর সময় এটি কিছুটা শিল্পের মান।
rsync -alPvz ./source_dir server.com:destination_dir
আমি এখন বছরের পর বছর ধরে এটি ব্যবহার করে আসছি।
( -a
বিকল্পটি ডিরেক্টরি পুনরাবৃত্তির মতো জিনিসের যত্ন করে)
-a
= পুনরাবৃত্তি + প্রতীকী লিঙ্ক, অনুমতি, পরিবর্তনের সময়, মালিক, গোষ্ঠী, বিশেষ ফাইল এবং ডিভাইস ফাইল রাখুন (পরবর্তীটির জন্য সুপার-ব্যবহারকারীর সুবিধাগুলি প্রয়োজন); -l
= প্রতীকী লিঙ্কগুলি রাখুন (ইতিমধ্যে এতে অন্তর্ভুক্ত -a
); -P
= স্থানান্তর চলাকালীন অগ্রগতি দেখান + আংশিক স্থানান্তরিত ফাইল রাখুন; -v
= ভার্জোজ মোড (তবে -P
কোনও অদ্ভুত (বাগ?) protocol version mismatch
ত্রুটি এড়াতে ব্যবহার করার সময় এটি বাধ্যতামূলক বলে মনে হয় ); -z
= স্থানান্তরিত ডেটা সংক্ষেপণ সক্ষম করুন।
-l
স্যুইচটি ব্যবহার করতে হবে কিনা তা নির্ভর করে সংস্করণ নির্ভর । আমার মনে আছে পুরানো সংস্করণগুলি এতে অন্তর্ভুক্ত ছিল -l
না -a
।
আপনি ব্যবহার করতে সক্ষম হতে পারেন scp
। সাধারণ বিন্যাসটি হয়
scp -rp sourceDirName username@server:destDirName
scp
এর অর্থ "সুরক্ষিত অনুলিপি"। পতাকাগুলি হয়
-r
সাব ডিরেক্টরিতে পুনরাবৃত্তি-p
পরিবর্তনের সময় সংরক্ষণ করুনআমি বিশ্বাস করি যে বাকি আইটেমগুলি স্ব-ব্যাখ্যামূলক
যদি rsync
কোনও বিকল্প না হয় তবে আমি পরবর্তী পরামর্শ দেব lftp
:
lftp sftp://user@host.com/path/path/
তারপরে mirror
পুনরাবৃত্তভাবে আপলোড করতে কমান্ডটি ব্যবহার করুন :
mirror -R
(উল্লেখ্য যে recursion ডিফল্ট দ্য। -R
জন্য বিপরীত - ডাউনলোড পরিবর্তে আয়না কমান্ড আপলোড করতে জোড়ার চেষ্টা করুন। --dry-run
নিশ্চিত করুন যে এটি করছে আপনি কি আশা করতে একটি বিচারের করতে।)
বা পুনরাবৃত্তি ছাড়াই আপলোড করতে:
mirror --no-recursion
আপনি cd
যে ডিরেক্টরিগুলি আয়না করতে চান তাতে আপনাকে প্রবেশ করতে হবে। দুর্দান্ত কাজ!
আপনি যদি পারেন তবে এসএসএফএস ব্যবহার করুন । এটি একটি FUSE ফাইল সিস্টেম রয়েছে, যা বেশিরভাগ আধুনিক ইউনিয়নে পাওয়া যায় এবং যে কোনও এসএফটিপি সার্ভারের সাথে কাজ করে। এটি একটি রিমোট ফাইল সিস্টেম: এটি আপনাকে সাধারণ ইউটিলিটিগুলি সহ রিমোট ফাইলগুলি (এসএফটিপি প্রোটোকলের উপরে) ম্যানিপুলেট করতে দেয়।
mkdir /mount/point
sshfs server.example.com:/remote/path /mount/point
ls /mount/point
cp -Rp /mount/point/somedir /local/location
fusemount -d /mount/point
এটি কিছুটা ক্লেডজ তবে আমার জন্য যা কাজ করে তা হ'ল:
ssh
রিমোট মেশিনে লগইন করতে ব্যবহার করুনsftp
আপনার স্থানীয় মেশিনে দূরবর্তী মেশিন থেকেget
সহ কমান্ডটি ব্যবহার করুন -r
।sftp> get -r data /opt/bin get: Invalid flag -r
যদি আপনি প্রশ্নটি করেন যে 'ডিরেক্টরিতে স্থানান্তর করতে আমি কীভাবে এসফটিপি ব্যবহার করব', তবে
sftp -r user@server
তবে আপনি যদি কোনও ডিরেক্টরি স্থানান্তর করেন তবে আমি আপনার প্রয়োজনের উপর নির্ভর করে আরও দুটি ভাল বিকল্পের পরামর্শ দিতে পারি। sftp
ssh- এর মতো কমান্ড প্রম্পটে রিমোট সার্ভারে লগ ইন করা দরকার, তবে আপনি যদি ফাইলগুলি চান তবে আরও সহজ এবং দ্রুত উপায় রয়েছে।
sCP
এক সময় স্থানান্তরের জন্য, আপলোড করার চেষ্টা করুন:
# upload source directory to remote server
scp -rp source_dir user@server:dest
#download directory from remote server:
scp -rp user@server:source_dir dest
#specifying ssh key:
scp -rp -i ~/.ssh/key user@server:source_dir dest
#remote directory has spaces
scp -rp -i ~/.ssh/key user@server:"source\\ dir" dest
rsync
আপনি যদি নিয়মিতভাবে ডিরেক্টরিগুলি সিঙ্ক করার পরিকল্পনা করে থাকেন তবে rsync ব্যবহার করা আরও অর্থবোধক। এটি দুটি ডিরেক্টরিতে ডেল্টাস সম্পাদন করে, তারের মাধ্যমে স্থানান্তর সময় এবং ডেটা সাশ্রয় করে।
rsync -r -a -v -e ssh --delete source_dir user@server:dest
এখানে বেশ কয়েকটি সাধারণ আরএসএনসি বিকল্পের একটি তালিকা রয়েছে: ( এখান থেকে নেওয়া )
আশা করি এইটি কাজ করবে!
আপনি সার্ভার থেকে আপনার স্থানীয় পথে যেতে পারেন
scp -rp user@server:directoryname(full path) .