আপনার স্থানীয় ডিস্কে লেখার জন্য টার ব্যবহার করার পরিবর্তে, আপনি ssh ব্যবহার করে সরাসরি নেটওয়ার্কের রিমোট সার্ভারে লিখতে পারেন।
server1$ tar -zc ./path | ssh server2 "cat > ~/file.tar.gz"
আপনার "ssh" কমান্ড অনুসরণ করে এমন যে কোনও স্ট্রিং ইন্টারেক্টিভ লগনের পরিবর্তে রিমোট সার্ভারে চালিত হবে। আপনি এসএসএইচের মাধ্যমে সেই দূরবর্তী কমান্ডগুলি থেকে এবং ইনপুট / আউটপুট পাইপ করতে পারেন যেন তারা স্থানীয়। কমান্ডটি উদ্ধৃতিতে রেখে কোনও বিভ্রান্তি এড়ানো যায়, বিশেষত পুনঃনির্দেশ ব্যবহার করার সময়।
অথবা, আপনি সরাসরি অন্য সার্ভারে টার ফাইলটি বের করতে পারেন:
server1$ tar -zc ./path | ssh server2 "tar -zx -C /destination"
কদাচিৎ-ব্যবহৃত -C
বিকল্পটি নোট করুন । এর অর্থ "কিছু করার আগে প্রথমে এই ডিরেক্টরিতে পরিবর্তন করুন।"
অথবা, সম্ভবত আপনি গন্তব্য সার্ভার থেকে "টান" করতে চান:
server2$ tar -zx -C /destination < <(ssh server2 "tar -zc -C /srcdir ./path")
নোট করুন <(cmd)
কনস্ট্রাক্টটি ব্যাশ-এ নতুন এবং পুরানো সিস্টেমে কাজ করে না। এটি একটি প্রোগ্রাম চালায় এবং একটি পাইপে আউটপুট প্রেরণ করে এবং সেই পাইপটিকে কমান্ডের মধ্যে এমনভাবে প্রতিস্থাপন করে যেন এটি কোনও ফাইল।
আমি কেবল নীচে সহজে উপরোক্তটি লিখতে পারতাম:
server2$ tar -zx -C /destination -f <(ssh server2 "tar -zc -C /srcdir ./path")
বা নিম্নলিখিত হিসাবে:
server2$ ssh server2 "tar -zc -C /srcdir ./path" | tar -zx -C /destination
অথবা, আপনি নিজেকে কিছুটা বেদনা বাঁচাতে এবং কেবল আরএসসিএনসি ব্যবহার করতে পারেন:
server1$ rsync -az ./path server2:/destination/
শেষ অবধি, মনে রাখবেন যে স্থানান্তর করার আগে ডেটা সংকুচিত করা আপনার ব্যান্ডউইদথকে হ্রাস করবে, তবে খুব দ্রুত সংযোগে এটি কার্যকরভাবে আরও বেশি সময় নিতে পারে । এটি কারণ আপনার কম্পিউটারটি চালিয়ে যাওয়ার জন্য খুব দ্রুত সংক্ষেপ করতে সক্ষম না হতে পারে: যদি 100MB কে কমপ্রেস করা 100MB প্রেরণ করতে লাগে তার চেয়ে বেশি সময় নেয় , তবে এটি সঙ্কুচিত পাঠানো আরও দ্রুত faster
পর্যায়ক্রমে, আপনি জিজপ করতে পাইপিং বিবেচনা করতে পারেন (-z বিকল্পটি ব্যবহার না করে) যাতে আপনি একটি সংকোচন স্তর নির্দিষ্ট করতে পারেন। এটি আমার অভিজ্ঞতা হয়েছে যে সংকোচযোগ্য ডেটা সহ দ্রুত নেটওয়ার্ক সংযোগগুলিতে, 2 বা 3 স্তরের গিজিপ ব্যবহার করা (ডিফল্ট 6 হয়) বেশিরভাগ ক্ষেত্রে সর্বোত্তম সামগ্রিক থ্রুপুট দেয়। তাই ভালো:
server1$ tar -c ./path | gzip -2 | ssh server2 "cat > ~/file.tar.gz"