मुझे आश्चर्य हो रहा है कि क्या यह get
फाइलों के साथ संभव है sftp
, लेकिन गंतव्य फ़ोल्डर में पहले से मौजूद फ़ाइलों को फिर से डाउनलोड करने से रोकें?
मुझे आश्चर्य हो रहा है कि क्या यह get
फाइलों के साथ संभव है sftp
, लेकिन गंतव्य फ़ोल्डर में पहले से मौजूद फ़ाइलों को फिर से डाउनलोड करने से रोकें?
जवाबों:
sftp
सीमित क्षमताएं हैं। फिर भी, get
कमांड में एक विकल्प है जो चाल कर सकता है:get -a
आंशिक डाउनलोड पूरा करता है, इसलिए यदि कोई फ़ाइल क्लाइंट पर पहले से मौजूद है और कम से कम सर्वर पर फ़ाइल जितनी बड़ी है, तो वह डाउनलोड नहीं होगी। यदि फ़ाइल मौजूद है, लेकिन छोटी है, तो फ़ाइल का अंत स्थानांतरित हो जाएगा, जो स्थानीय फ़ाइल एक बाधित डाउनलोड का उत्पाद है, तो यह समझ में आता है।
SFTP पर जटिल चीजों को करने का सबसे आसान तरीका SSHFS का उपयोग करना है । SSHFS एक फाइलसिस्टम है जो SFTP का उपयोग एक दूरस्थ फाइलसिस्टम को एक स्थानीय फाइलिसेम के रूप में प्रकट करने के लिए करता है। क्लाइंट पर, SSHFS को FUSE की आवश्यकता होती है , जो अधिकांश आधुनिक यूनियनों पर उपलब्ध है। सर्वर पर, SSHFS को SFTP की आवश्यकता होती है; यदि सर्वर SFTP की अनुमति देता है तो आप इसके साथ SSHFS का उपयोग कर सकते हैं।
mkdir server
sshfs server.example.com:/ server
rsync -a server/remote/path /local/path/
fusermount -u server
ध्यान दें कि SSHFS पर rsync डेल्टा हस्तांतरण एल्गोरिथ्म का लाभ नहीं उठा सकता है, क्योंकि यह दूरस्थ तरफ आंशिक चेकसमों की गणना करने में असमर्थ है। यदि आप संशोधित की गई फ़ाइलों को सिंक्रनाइज़ कर रहे हैं तो एक बार डाउनलोड करने के लिए यह अप्रासंगिक है। संशोधित फ़ाइलों के कुशल सिंक्रनाइज़ेशन के लिए, उपयोग करें rsync -a server:/remote/path /local/path/
, लेकिन इसके लिए SSH शेल एक्सेस की आवश्यकता होती है, न कि केवल SFTP एक्सेस की। शेल का उपयोग rsync कमांड के लिए प्रतिबंधित किया जा सकता है।
आप कमांड के -a
लिए ध्वज का उपयोग कर सकते हैं get
:
$ sftp example.com
sftp> get -a hello.txt
आप निर्दिष्ट कर सकते हैं *
निश्चित रूप से पूरी निर्देशिका डाउनलोड लिए ।
हालांकि, कुछ कैविएट हैं।
एक बेहतर विकल्प का उपयोग किया जाएगा rsync
:
rsync example.com:hello.txt
यह हमेशा आपको फ़ाइल देगा क्योंकि यह सर्वर पर है, केवल स्थानीय और रिमोट कॉपी के बीच अंतर को स्थानांतरित करना अगर वे अलग-अलग हैं, और यह सार्वभौमिक रूप से उपलब्ध है।