एससीपी पुनरावर्ती फ़ाइल स्थानांतरण आदेश


11

आश्चर्य है कि क्या फ़ाइलों को स्थानांतरित करते समय एक क्रम क्रम निर्दिष्ट करना संभव है scp

उदाहरण के लिए: $ scp -r "user@host:/path/to/download/" .

[... files download in a seemingly random order ...]

चूंकि शायद यह संबंधित हो सकता है कि कैसे scpकार्य करता है, क्या स्रोत (सर्वर) पर ssh को कॉन्फ़िगर करने का कोई तरीका है ताकि फ़ाइलों को स्थानांतरित किया जा सके, उदाहरण के लिए, आरोही फ़ाइल नाम क्रम में?

जवाबों:


4

मैं समस्या को हल करता हूं tarऔर पाइप-पारदर्शिता के साथ समस्या का समाधान करता हूं ssh। एक उदाहरण नीचे देखा जा सकता है, दूरस्थ पीसी का नाम है bar। परीक्षण से पहले, मैंने /tmp/fooनिष्पादित करके तीन खाली फाइलें बनाईं ssh bar 'mkdir /tmp/foo ; touch /tmp/foo/{a,b,c}'

$ ssh bar 'cd /tmp/foo ; ls | sort -r | tar -cT -' | tar -xv
c
b
a
$ ls -l a b c
-rw-r--r-- 1 dnet dnet 0 nov   29 17:07 a
-rw-r--r-- 1 dnet dnet 0 nov   29 17:07 b
-rw-r--r-- 1 dnet dnet 0 nov   29 17:07 c

इसके -Tध्वज को tarअगले पैरामीटर से पैक करने के लिए फ़ाइलनाम पढ़ा जाता है, और -इसका मतलब है कि मानक इनपुट। अब आपको बस फाइलों के नाम को उसमें डालना होगा, जो कि ls(उदाहरण के अनुसार) या findपेचीदा कार्यों के लिए आ सकते हैं । इस सेटअप के साथ, आप sortसटीक ऑर्डर को इंगित करने के लिए उपयोग कर सकते हैं कि फाइलें एसएसएच के माध्यम से प्रेषित की जाएंगी (इस मामले में, -rरिवर्स अल्फाबेटिक ऑर्डर में सॉर्ट की गई फाइलें)। -vकेवल अंतिम में जोड़ा जाता है खोल, tarतो यह है कि आदेश दिख रहा है।


वाह, महान निचले स्तर के दृष्टिकोण और इतनी स्पष्ट रूप से व्यापक तस्वीर पेश करना। धन्यवाद।
दिमित्री मिनकोवस्की

संग्रह के बजाय व्यक्तिगत रूप से फ़ाइलों को स्थानांतरित करने के लिए इस तरह के दृष्टिकोण को कैसे बढ़ाया जा सकता है? एक पाश से परिणामों पर पुनरावृत्ति चाहेंगे sortमें barकिसी भी तरह दूरदराज के आदेश यह पूरा?
दिमित्री मिनकोवस्की

यह हो सकता है, लेकिन मैं इसे एक आर्काइव के रूप में स्थानांतरित करने के साथ समस्या नहीं देखता। यदि आप इसके बारे में सोचते हैं, तो इस दृष्टिकोण के बीच बहुत अंतर नहीं है scp- और दोनों प्रत्येक फ़ाइल के लिए मेटाडेटा और सामग्री भेजते हैं, वे बस एक अलग "प्रोटोकॉल" का उपयोग करते हैं। मुझे लगता है कि आप परिणामों पर पुनरावृति कर सकते हैं, लेकिन फिर आपको उनके नाम पर व्हाट्सएप के साथ फाइलों का ध्यान रखना चाहिए।
21

2
@ दादिमिमा, यदि आपको उत्तर पसंद है, तो शायद आप उत्तर स्वीकार कर सकते हैं ।
पीटर वी। मॉरच

यह उत्तर काम करता है, लेकिन किसी को इसे उस स्थिति में समायोजित करना पड़ता है जब फाइलों में नामों का स्थान होता है।
रुस्लान

1

एक का उपयोग कर वर्णमाला क्रम के साथ फ़ाइल स्थानांतरण प्राप्त कर सकते हैं rsync:

rsync -P -e ssh -r user@remote_host:/some_path local_path

Pआंशिक डाउनलोडिंग की अनुमति देता है, eSSH प्रोटोकॉल सेट करता है और rपुनरावर्ती डाउनलोड करता है।


0

यदि यह किसी की मदद करता है, तो मैंने यहां एक सरल समाधान प्रदान किया है:

/programming/23067175

फिर भी यह करने के लिए एक चतुर तरीके की प्रतीक्षा कर रहा है!


1
यह सिर्फ एक कड़ी है। पूर्ण उत्तर के लिए, यहाँ उत्तर प्रदान करें और फिर संदर्भ के लिए लिंक प्रदान करें।
केविन पैंको
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.