Scp कमांड के लिए प्रोग्रेस बार


92

क्या सर्वर से स्थानीय (या इसके विपरीत) का उपयोग करते समय एक प्रगति पट्टी प्रदर्शित करने का कोई तरीका है scp?


अब मुझे प्रतिशत मिल रहा है। लेकिन मुझे एक प्रगति बार की आवश्यकता है।
अब्दुल शजिन

वहाँ एक स्क्रिप्ट है, लेकिन मुझे पता नहीं है कि इसे कैसे काम किया जाए
उरी हरेरा


scp -r प्रगति पट्टी नहीं दिखाता है, लेकिन यह प्रत्येक फ़ाइल का एक प्रतिशत देता है
Spyderman4g63

जवाबों:


92

मुझे नहीं लगता कि ऐसा किया जा सकता है scp। पिछली बार मुझे कुछ इस तरह की जरूरत थी यानी प्रगति दिखाई गई, मैंने rsyncइसके बजाय इस्तेमाल किया। यह एक बार की तरह प्रगति को दर्शाता है। देखें कि क्या यह आपके लिए काम करता है।

आपको के --progressविकल्प का उपयोग करने की आवश्यकता होगी rsync। आप निम्न आदेश का उपयोग कर सकते हैं:

rsync -r -v --progress -e ssh user@remote-system:/address/to/remote/file /home/user/

1
मैं कुछ इसी तरह की पोस्ट करने जा रहा था, लेकिन जब मैंने इसका परीक्षण किया, तो मुझे बस मिल गया 2741851 0% 700.39kB/s 0:17:21और कोई ग्राफिकल प्रगति बार (मुझे नहीं लगता कि ओपी चाहता है)।
ओली

1
@ ओली: मुझे लगता है कि इसकी वजह यह है कि आप एक बहुत छोटी फाइल को कॉपी कर रहे हैं। Rsync से पहले प्रतिलिपि बनाना प्रगति को दिखा सकता है। यदि आप एक बड़ी फ़ाइल की प्रतिलिपि बनाते हैं तो आपको एक प्रगति बार मिलनी चाहिए।
बीएनडब्ल्यू

1
किसी के लिए जो प्रगति बार के साथ cp की तलाश में था, rsync स्थानीय स्तर पर बहुत अच्छा काम करता है, इसलिए यह उस प्रश्न का भी उत्तर देता है! (बस -e ssh user@remote-system:एक स्थानीय प्रति के लिए छोड़ दो और man rsyncकई, कई विकल्प बताते हैं)
ऋषि

1
यदि आप डिफॉल्ट की तुलना में एक अलग SSH पोर्ट से कनेक्ट करना चाहते हैं, तो आप कुछ का उपयोग कर सकते हैं जैसेrsync -avz --progress -e 'ssh -p 1223' root@google.com:/foobar.txt ./my-local-copy.txt
damd

4
क्यों का उपयोग rsync करते समय आप सिर्फ जोड़ने की जरूरत -vके लिएscp
समीर साबरी

64

-vस्विच ठीक काम करता है।

उदाहरण:

5% 9232KB 357.5KB / s 07:48 ईटीए


6
यह सही उत्तर है।
int_32

इसका सही उत्तर होना चाहिए! क्यों परेशान और rsync स्थापित
समीर साबरी

3
यह उपयोग करते समय काम नहीं करता है -3
फुइरो

1
@ फ़ीरो man scp: " -3दो दूरस्थ मेजबानों के बीच की प्रतियां स्थानीय होस्ट के माध्यम से स्थानांतरित की जाती हैं। इस विकल्प के बिना डेटा को सीधे दो दूरस्थ मेजबानों के बीच कॉपी किया जाता है। ध्यान दें कि यह विकल्प प्रगति मीटर को निष्क्रिय करता है। "
द हेट विथ द हेट

4

मुझे नहीं पता कि यह एक कमांड लाइन में कैसे किया जाता है। मुझे यकीन है कि यह संभव है लेकिन ऐसा करने के लिए एक चित्रमय विधि है।

Nautilus (Ubuntu में डिफ़ॉल्ट फ़ाइल ब्राउज़र) ssh / sftp सर्वर को माउंट कर सकता है। वे उसके बाद एक स्थानीय फाइल सिस्टम की तरह काम करते हैं और आप अपने आसपास की फाइलों की नकल कर सकते हैं जैसे कि आप सामान्य रूप से करते हैं। और आपको सामान्य प्रगति बार मिलती है जिसे आप सामान्य कॉपी के साथ करेंगे।

के लिए Fileमेनू के नीचे देखेंConnect to server...


4

2018 तक, प्रगति और ईटीए को डिफ़ॉल्ट रूप से दिखाया गया है और इसके द्वारा अक्षम किया जा सकता है -q


मैकोस पर नहीं, योग्य!
ड्रेचेनफेल्स

इसके साथ, क्या आपका मतलब समग्र प्रगति या प्रति-फ़ाइल आधार पर है? मैं इसे केवल अपने ताजा स्थापित डेबियन 9 में एक प्रति-फ़ाइल के आधार पर देखता हूं
mazunki
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.