ডলার হিসাবে কয়েক হাজার ফাইল স্ক্যাপ করার জন্য ওয়ান-লাইনার লিনাক্স


2

আমার কাছে কয়েক হাজার ফাইল সহ একটি ফোল্ডার রয়েছে যা আমার অন্য বাক্সে স্কিপ করা দরকার। যেহেতু একবারে একটি ফাইল করা খুব সময়সীমাবদ্ধ, এবং যেহেতু আমার কাছে সমস্ত টাইলসের সংকুচিত টার আর্কাইভ তৈরির হার্ডড্রাইভ স্থান নেই - আমি নিম্নলিখিতটি করতে চাই:

ফ্লাইতে পুরো আর্কাইভটি টানুন এবং এটিকে সরাসরি অন্য বাক্সে স্ক্যাপের উপর দিয়ে দিন এবং এটি অবিলম্বে এটি অনার্স করুন। এইভাবে আমি পূর্ণ ব্যান্ডউইদথ পেতে পারি (প্রতিটি ফাইল শুরু করার দরকার নেই) এবং পুরো আর্কাইভটি নকল করে আমি স্থানের বাইরে চলে যাব না।

আমার এ বক্সটি ওএসএক্স, বি উবুন্টু।

এর জন্য কি ওয়ান-লাইনার রয়েছে?


কেন এটি ওয়ান লাইনার হতে হবে? আপনি কি কেবল তিনটি কমান্ড চালাতে পারবেন না, অর্থাত্ একটি টার তৈরি করুন, এটি প্রেরণ করুন এবং আনটার?

2
কেন ব্যবহার scpযখন sshস্ট্রিম করতে পারেন: tar c | ssh tar x? আপনার যা প্রয়োজন বিকল্পগুলি স্পষ্টভাবে যুক্ত করুন যাতে গাছটি যেখানেই আপনার যেখানে প্রয়োজন সেখানেই আসে। এবং এটি একটি ওয়ানলাইনার।
ড্যান ডি

@slhck আমার কাছে আমার ফাইলগুলির নকলের জন্য জায়গা নেই।
নটোল

1
@ পাওলোআলমিডা এটি ফাইল-আকার নয় যে বিষয়টি; নেটওয়ার্কগুলির মাধ্যমে প্রেরিত প্রতিটি ফাইলের জন্য ওভারহেড রয়েছে ( scpবিশেষত প্রতিটি পৃথক ফাইলের জন্য পৃথক স্থানান্তর তৈরি করে) এবং সেগুলিকে একটি ফাইলে ট্যারা করার ফলে ওভারহেড হ্রাস হয়
16-25

1
নীচের উত্তরের সাথে, আমি একটি স্থির 2MB / s ব্যান্ডউইথ পাই, স্কিপ দিয়ে আমি প্রতিটি ফাইলের জন্য গড় .75-1MBM / গুলি গড়ে প্রতিটি ফাইলের জন্য স্টার্ট-এন-স্টপ পাই তবে শত শত মিলিসেকেন্ড ফাইলের মধ্যে বিভক্ত হয়ে। কোন প্রতিযোগী।
নটোল

উত্তর:


3

scp কেবলমাত্র সেই ফাইলগুলিতে কাজ করে যা ইতিমধ্যে ড্রাইভে রয়েছে। যেহেতু আপনি ফাইলটি প্রেরণের আগে (টার) তৈরি করতে চান না, তাই আপনাকে সরাসরি ssh এবং টার ব্যবহার করতে হবে:

tar -c -f - ./path/to/compress | ssh eee.lan tar -C /where/to/extract -x -f-

1
বেয়ার হাইগেলিগ :)
Ярослав

বিটিডব্লিউ, আমি ডুচে! ;) তাক!
নটোল

1
আমি এটি -f(ন্যায়বিচার tar -c ./path/to/compress | ssh eee.lan tar -x) ছাড়াই চেষ্টা করেছি এবং এটি কার্যকর হয়েছে। প্রয়োজনীয়তা আছে এমন কোনও সুবিধা, কর্নার কেস বা বহনযোগ্যতার সমস্যা আছে -f?
পাওলো আলমেইদা

5

আমি ব্যবহারের সুপারিশ করব rsync; আপনার সংযোগ বিঘ্নিত হয়ে উঠলে আরএসএনসি এটি কোথায় ফেলেছে তা বেছে নিতে পারে (একটু ওভারহেড দিয়ে)। rsync সরাসরি ssh এ কাজ করতে পারে তাই এটি এখনও সুরক্ষিত থাকবে।

rsync -av -e ssh /path/to/send rsync://user@ubuntu.box/path/to/receive


এটি কি সবকিছুকে একটি একক ফাইলে রাখবে যাতে প্রতিটি প্রেরিত ফাইলের জন্য আমি ওভারহেড পাব না?
নটোল

2
Rsync কোনও ফাইল নয়, একটি ডেটাস্ট্রিম ব্যবহার করে। তবে এটি কেবল একটি একক ডাটাস্ট্রিম, হ্যাঁ। আপনার ট্রান্সফার বাধাগ্রস্ত হয় বা কেবলমাত্র কয়েকটি ফাইল পরিবর্তিত হয় এবং আপনি এখনও উভয় প্রান্তের সিঙ্ক করতে চান: আসল সেভারটি তখনই হয় আরএসইএনসি ডিরেক্টরি এবং / অথবা উভয় প্রান্তের ফাইলের সাথে তুলনা করে এবং কেবল ভিন্নটি প্রেরণ করে। উপরের টার / স্কিপ সমাধানটি প্রতিবার, সবকিছু স্থানান্তর করবে।
জেভিও

ঠিক আছে, তার জন্য ধন্যবাদ! আমি এই সময় কেবলমাত্র একটি বড় ব্যাচকে চলছিলাম (এবং এখনও আছি!), তবে সিঙ্ক / তুলনা দুর্দান্ত তা জানতে পেরে আনন্দিত।
নটোল
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.