Net::SCP और Net::SSH रत्नों को देखें। सबसे पहले आपको एक सुरक्षित प्रति का उपयोग करके फ़ाइल पुनर्प्राप्त करने देता है, और दूसरा आपको पुनर्प्राप्ति के लिए उपलब्ध फ़ाइलों के नाम आसानी से ढूंढने देगा। नेट :: एसएसएच में, ssh.exec!
आपका मित्र होगा।
Net::SCP डॉक्स से
:
Net :: SCP SCP (सुरक्षित कॉपी) ग्राहक प्रोटोकॉल लागू करता है, रूबी कार्यक्रमों सुरक्षित रूप से और प्रोग्राम के रूप में करने के लिए और दूरदराज के सर्वर से अलग-अलग फ़ाइलों या पूरी निर्देशिका पेड़ हस्तांतरण करने के लिए अनुमति देता है। यह एक ही कनेक्शन के साथ-साथ सिंक्रोनस, सीरियल प्रतियों के लिए समानांतर में काम कर रहे एकाधिक एक साथ एससीपी प्रतियों के लिए समर्थन प्रदान करता है।
Net :: SCP भी प्रदान करता है एक खुले uri टाई में, आप खोल सकते हैं और एक दूरस्थ फ़ाइल को पढ़ने के लिए कर्नेल # खुला विधि का उपयोग कर सकते हैं ताकि:
# if you want to read from a URL voa SCP:
require 'uri/open-scp'
puts open("scp://[email protected]/path/to/file").read
Net::SSH डॉक्स से:
require 'net/ssh'
Net::SSH.start('host', 'user', :password => "password") do |ssh|
# capture all stderr and stdout output from a remote process
output = ssh.exec!("hostname")
ब्लॉक को बंद करने के लिए उपरोक्त कोड में end
जोड़ें। ब्लॉक के अंदर, output
आपके द्वारा भेजे गए आदेश के परिणाम होंगे।
फाइलों वाली मशीन से रूबी के माध्यम से फ़ाइलों को पुनर्प्राप्त करने का एक विकल्प, रूबी को फ़ाइलों को होस्ट करने वाली मशीन से सीधे हस्तांतरण शुरू करना होगा और उन्हें अन्य मशीन पर scp
के माध्यम से धक्का देना होगा।
नेट :: एससीपी और नेट :: एसएसएच का उपयोग करने के बजाय, आप इसे एक मणि में प्रबंधित करने के लिए Net::SFTP का उपयोग कर सकते हैं। यह एक सुरक्षित कनेक्शन पर भी सवारी करता है, लेकिन एसएफटीपी आपके लिए उपलब्ध नहीं हो सकता है। Net::SFTP::Operations::Dir
और Net::SFTP::Operations::Download
कक्षाएं और दस्तावेज़ आपका मित्र होंगे।
अन्य विकल्पों में मानक rsync
का उपयोग एक साधारण खोल में @tadman के रूप में किया गया है। इसे पूरा करने के कई तरीके हैं, और यह वातावरण की मेजबानी में एक आम आवश्यकता है।
किसी अन्य बेहतर दृष्टिकोण?
rsync
, कमांड लाइन पर। यह बहुत स्मार्ट है और जरूरत पड़ने पर फ़ाइलों के फ़ोल्डरों और डेल्टा को स्थानांतरित कर सकता है। इसके अलावा, "How to transfer files using ssh and Ruby" और इसका लिंक "Ruby file upload ssh intro" है।
रूल्ड के साथ @ tadman की rsync
की सलाह देने के लिए मेल्डिंग, "Cheapest rsync replacement (with Ruby)" है।
बिना कुछ कंपनियों कुंजी उपयोग की अनुमति नहीं है। पासवर्ड से निपटने में दर्द होता है, लेकिन यह उनकी सुरक्षा नीति का हिस्सा भी है। –
कुछ कंपनियों के पास आईटी विभाग भी ट्रोल के साथ काम करते हैं। पासवर्ड अनुमान लगाया जा सकता है। चाबियाँ चोरी होनी चाहिए। – tadman
यह हो सकता है। तथ्य यह है कि कुछ स्थानों को पासवर्ड की आवश्यकता होती है। –