যদি আমি 2 সার্ভারগুলিতে এসএসএইচ এর মাধ্যমে লগ ইন করে থাকি এবং কিছু ফাইলকে এক থেকে অন্যের অনুলিপি করতে চাই (উদাঃ পুরানো থেকে নতুন সার্ভারে কনফিগারেশন), তাহলে এটি করার সবচেয়ে সহজ উপায় কী?
যদি আমি 2 সার্ভারগুলিতে এসএসএইচ এর মাধ্যমে লগ ইন করে থাকি এবং কিছু ফাইলকে এক থেকে অন্যের অনুলিপি করতে চাই (উদাঃ পুরানো থেকে নতুন সার্ভারে কনফিগারেশন), তাহলে এটি করার সবচেয়ে সহজ উপায় কী?
উত্তর:
সার্ভার 1:
scp <files> server2:/dest/dir/
অথবা, যদি আপনি rsync ইনস্টল করেছেন:
rsync -azvu basedir/ server2:destdir/
যদি না হয়, তারপর তারের মাধ্যমে পাইপ:
tar cf - -C srcdir | ssh server2 tar xf - -C dstdir
শেষ দুই কপি পুরো ডিরেক্টরি গাছ। একটি ডিরেক্টরির মধ্যে প্রথম এক বা একাধিক ফাইল।
অন্য কথায়, প্রথমটি থেকে সরাসরি কপি করতে শেল সরঞ্জামগুলি ব্যবহার করুন।
মোট আকার খুব বড় না হলে, এই সামান্য কৌশল ব্যবহার করতে পারেন।
tar -cz <filestocopy> | base64
base64 -d | tar -xzv
কিভাবে কাজ করে?
দুটি খোলা এসএসএস সেশনের সাথে কপি করার দ্রুততম উপায় হবে:
Netcat (এনসি) ব্যবহার করুন
Sender/Source machine:
tar -czf - /source/dir | nc -l 2342
Receiver/Destination machine:
nc -w 10 sourcemachine 2342 | tar -C /target/dir -xz -
কম নিরাপদ এনক্রিপশন সঙ্গে scp ব্যবহার করুন। ডিফল্ট সাধারণত blowfish হয় কিন্তু arcfour একটি খুব দ্রুত বিকল্প।
scp -c arcfour mogga@flinflon:/home/users/mogga /dev/null
আমি সাধারণত দ্বিতীয় বিকল্পটি ব্যবহার করি (কেবলমাত্র কারণ আমি এটি প্রায়শই মনে রাখতে পারি)।
-p
বিকল্প (উত্স বিকল্প) গন্তব্য কমান্ড সেখানে থাকা উচিত নয়।
-p source_port Specifies the source port nc should use, subject to privilege restrictions and availability. It is an error to use this option in conjunction with the -l option.
sudo
(ভাল, সম্ভবত পাইপ-টার-মাধ্যমে SSH এক?)। কিন্তু এটি বৃহত্তর তথ্য স্থানান্তর করার সবচেয়ে বাস্তব উপায়।