sftp: একটি ফোল্ডারে থাকা সমস্ত ফাইল, ডিরেক্টরি এবং উপ-ডিরেক্টরিগুলি আপলোড করুন


27

মেশিনে এআইয়ের ফোল্ডার রয়েছে

/home/a/

মেশিনে বিআইয়ের ফোল্ডার রয়েছে

/home/b/

আমি / এসএফটিপি অন / হোম / বি এর সমস্ত ফাইল, ডিরেক্টরি এবং উপ-ডিরেক্টরিগুলি এসএফটিপি সহ মেশিন এআই কমান্ড চেষ্টা করে দেখতে চাই:

sftp fibon82@machineB.com
put /home/a/* /home/b/

তবে এটি কার্যকর হয় না, আমি ত্রুটি বার্তাটি পাই: "নিয়মিত ফাইল / হোম / এ / এ 1 এড়িয়ে যাওয়া" ... [এ 1 একটির একটি উপ ডিরেক্টরি ডিরেক্টরি]
কীভাবে আমি পুট নির্দেশকে সংশোধন করতে পারি?

ধন্যবাদ! :)

সম্পাদনা করুন:

আমি scp ব্যবহার করে সমাধান করেছি:

scp -r /home/a/ fibon82@machineB.com:/home/b/

2
put -rখুব কাজ করতে হবে।
ওয়াকিমিকো

1
ঠিক আছে তবে আমি কীভাবে জানতে পারি যে "পুট কমান্ড" এর জন্য বিকল্পটি পাওয়া যায়? আমি যদি এখানে দেখি তবে পতাকা-পি বর্ণিত আছে ... ম্যানুয়ালটিতে একই ধন্যবাদ! :)
ফাইবোন 82

পরিবর্তে আপনার উত্তর হিসাবে পোস্ট করা উচিত।
এনএন

হ্যাঁ। উত্তরের সাথে আপনার প্রশ্নটি সম্পাদনা করার পরিবর্তে আপনার নিজের প্রশ্নের উত্তর দেওয়া উচিত এবং তা গ্রহণ করা উচিত।

@ ফিবন ৮২ ওপেনএসএসএইচে আপ-টু-ডেট ম্যানুয়ালটির জন্য sftp, ওপেনএসএসএইচ প্রকল্পটি দেখুন
মার্টিন প্রিক্রিল

উত্তর:


21

যদিও এসফটিপি-এর সমপরিমাণ সমতুল্য নয়, আরএসসিএনসিপি স্ক্যাপ এবং এসএফটিপি- জন্য খুব শক্তিশালী বিকল্প, বিশেষত যখন মেশিন এ থেকে মেশিন বি-তে অনুলিপিগুলি আপডেট করে, কারণ এতে যে ফাইলগুলি পরিবর্তন করা হয়নি সেগুলি অনুলিপি করে না; এটি মেশিন বি থেকে ফাইলগুলি মুছে ফেলতে সক্ষম করেছে যা মেশিন এ থেকে মুছে ফেলা হয়েছে (কেবল যখন তা অবশ্যই বলা হবে)।

আপনার ক্ষেত্রে বাক্য গঠনটি হবে

rsync -zrp /home/a/ user@remote.host.com:/home/b/

-rবিকল্প, যাও recursively অনুলিপি ফাইলের জন্য হয় -zস্থানান্তরের সময়ে কম্প্রেশন সম্ভব, এবং -pফাইল অনুমতি (ফাইল সৃষ্টি, সম্পাদনা, ইত্যাদি) যখন অনুলিপি, যা কিছু যে scp কমান্ড আমি যতদূর জানি না না অপরিবর্তিত। আরও অনেক বিকল্প সম্ভব; যথারীতি manপাতাগুলি পড়ুন।


আহ আপনাকে ধন্যবাদ! :) একটি নতুন জিনিস যা আমি শিখেছি!
ফিবন 82

@ fibon82: তুমি স্বাগত :)
Karolos

1
আমি আপনাকে ভালবাসি, আমি আপনার কোডটি ব্যবহার করে 1 মিনিটের মধ্যে 400MB ডেটা সিঙ্ক করেছি। আমি আপনাকে যুক্ত করবো - প্রপ্রেসটিও ব্যবহার করা উচিত অন্যথায় আপনি কী হচ্ছে (এবং কোন গতিতে :) না জেনে কিছুই দেখছেন না
স্যান্ড্রো আন্তোনুচি

1
দুঃখের rsyncসাথে কথা বলতে না sftp-প্রোটোকল। সুতরাং আপনি যদি বিল্ড ইন sftpব্যবহারsshinternal-sftp করে একটি চক্র সেট আপ করেন তবে rsyncব্যর্থ হয়।
টিনো

17

ইন sftpএই কমান্ড যাও recursively দূরবর্তী বর্তমান ডিরেক্টরির বর্তমান ডিরেক্টরী বিষয়বস্তু আপলোড:

 put -r .

দেখুন man sftp


-rসুইচ থেকে সমর্থিত OpenSSH- র 5.4 শুধুমাত্র।
মার্টিন প্রিক্রিল

1
মনে রাখবেন যে -rস্যুইচটি কেবল ক্লায়েন্টের দিকের ( sftpকমান্ডের অংশ )। সুতরাং সার্ভারের (এখানে: গ্রহণ করা) পক্ষের ওপেনএসএইচ 5.4 প্রয়োজন নেই, কেবল ক্লায়েন্টকে এটি সমর্থন করা প্রয়োজন।
টিনো

9

scp(সুরক্ষিত অনুলিপি) একটি সুরক্ষিত টানেলের মাধ্যমে ফাইল স্থানান্তর করার জন্য লিনাক্স ডি ফ্যাক্টো to আপনার ক্ষেত্রে আপনি পুনরাবৃত্ত স্যুইচ ব্যবহার করতে চান, যেমন:

scp -r /home/a/ user@remote.host.com:/home/b/

5
sftp এবং scp আসলে ssh এর উপর ভিত্তি করে পৃথক প্রোটোকল।
প্যারাড্রয়েড

1
হ্যাঁ, যদি সার্ভারটি কেবল sftp প্রোটোকলকে অনুমতি দেয় তবে এই উত্তরটি কার্যকর হয় না।
рüффп

4

ব্যবহার করার চেষ্টা করুন

put -r /home/a/ /home/b/

আরও তথ্যের জন্য চেক আউট: এই


1
-rসুইচ থেকে সমর্থিত OpenSSH- র 5.4 শুধুমাত্র।
মার্টিন প্রিক্রিল

মনে রাখবেন যে -rস্যুইচটি কেবল ক্লায়েন্টের দিকের ( sftpকমান্ডের অংশ )। সুতরাং সার্ভারের (এখানে: গ্রহণ করা) পক্ষের ওপেনএসএইচ 5.4 প্রয়োজন নেই, কেবল ক্লায়েন্টকে এটি সমর্থন করা প্রয়োজন। এবং: এটি গ্রহণযোগ্য উত্তর হওয়া উচিত , কারণ rsyncট্যাগ sftpকরা প্রশ্নের উত্তর হিসাবে (সম্ভবত অসমর্থিত) পাওয়া কিছুটা বিভ্রান্তিকর।
টিনো

0

আসলে, পুট-আর কাজ করা উচিত। তবে গন্তব্য ফোল্ডারটি আপনার দূরবর্তী হোস্টে উপস্থিত হওয়া প্রয়োজন:

sftp> put -r sourcefolder
 Uploading sourcefolder/ to /user/folder
 Couldn't canonicalize: No such file or directory
 ....
sftp> mkdir sourcefolder
sftp> put -r sourcefolder
 Uploading sourcefolder/ to /user/folder/sourcefolder
 Entering sourcefolder/
 sourcefolder/file1
 sourcefolder/file2

আপনি কী উল্লেখ করেছেন তাতে সমর্থন করে প্রমাণ এবং প্রমাণ যুক্ত করেছেন এবং নিশ্চিত করেছেন যে পোস্টটির বিদ্যমান উত্তরগুলির মধ্যে ইতিমধ্যে এই উত্তরটির উত্তর দেওয়া হয়নি। আপনি কীভাবে মন্তব্য শুরু করতে পারবেন তা বুঝতে আপনি "মন্তব্য করার জন্য আমার কেন 50 খ্যাতি দরকার" পড়ুন ।
পিম্প জুস আইটি

-1

আমার ক্ষেত্রে rsyncসম্ভব ছিল না তাই আমি ব্যবহার করেছি:

mput -rp /home/a/ /home/b/

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