रु। व्यक्तिगत फ़ाइल के लिए रु


21

मैं एक बड़ी बड़ी फ़ाइल (20Gb) को अपलोड / डाउनलोड करने के लिए rsync का उपयोग कर रहा हूं। मैं -प्रोग्रेस ऑप्शन से वाकिफ हूं, लेकिन यह मेरे मामले में क्या करता है, इसका परिणाम मुझे अंत में दिख रहा है।

मेरी समस्या यह है कि कुछ अस्थिर कनेक्शन के दौरान - मुझे नहीं पता कि यह अभी भी डाउनलोड हो रहा है / अपलोड हो रहा है या कुछ गलत हो गया है। क्या किसी व्यक्तिगत फ़ाइल के लिए प्रगति पट्टी दिखाने का कोई तरीका है? डिफ़ॉल्ट रूप से क्या करता है?

धन्यवाद!


4
मैंने 10+ वर्षों के लिए rsync का उपयोग किया है और मुझे विश्वास नहीं हो रहा है कि मैंने यह प्रश्न कभी नहीं पूछा।
slm

जवाबों:


17

यह वही हो सकता है जो आप कर रहे हैं।

% rsync -avvz --times --stats --checksum --human-readable --acls \
    --itemize-changes --progress \
    --out-format='[%t] [%i] (Last Modified: %M) (bytes: %-10l) %-100n' \
    /usr/include/glib-2.0 my-glib-copy/

स्विच का टूटना निम्नानुसार है:

  • -वेज़ = संग्रह, क्रिया 2 एक्स, सेक
  • --times = संशोधन के समय को संरक्षित करना
  • --stats = कुछ फ़ाइल-स्थानांतरण आँकड़े दें
  • --checksum = चेकसम के आधार पर छोड़ें, न कि मॉड-टाइम और आकार के आधार पर
  • मानव-पठनीय प्रारूप में अमानवीय-पठनीय = आउटपुट संख्या
  • --acls = ACLs को सुरक्षित रखें ( आशय -p)
  • - परिवर्तन-परिवर्तन = सभी अपडेट के लिए एक परिवर्तन-सारांश आउटपुट
  • --प्रगति = स्थानांतरण के दौरान प्रगति दिखाना
  • --आउट-प्रारूप = '[% t] [% i] (अंतिम संशोधित:% M) (बाइट्स:% -10l)% -100n'
    • % t = वर्तमान दिनांक समय
    • % i = क्या अद्यतन किया जा रहा है की एक आइटम सूची
    • % M = फ़ाइल का अंतिम-संशोधित समय
    • % -10l = बाइट्स में फ़ाइल की लंबाई (-10 संरेखण और परिशुद्धता के लिए है)
    • % -100n = फ़ाइल नाम (संक्षिप्त रूप; अनुगामी "/" dir पर) (-100 संरेखण और परिशुद्धता के लिए है)

नोट: के लिए आदमी पृष्ठ देखें rsyncऔर rsyncd.confइसके बाद के संस्करण स्विच पर पूरी जानकारी के लिए।

उपरोक्त आदेश निम्नलिखित प्रतिलेख का उत्पादन करता है:

sending incremental file list
delta-transmission disabled for local transfer or --whole-file
[2012/12/23 21:34:46] [cd+++++++++] (Last Modified: 2010/12/19-08:13:31) (bytes: 4096      ) glib-2.0/
[2012/12/23 21:34:46] [>f+++++++++] (Last Modified: 2010/09/30-15:02:30) (bytes: 1511      ) glib-2.0/glib-object.h
       1.51K 100%    0.00kB/s    0:00:00
       1.51K 100%    0.00kB/s    0:00:00 (xfer#1, to-check=181/183)
[2012/12/23 21:34:46] [>f+++++++++] (Last Modified: 2010/09/30-15:02:30) (bytes: 2910      ) glib-2.0/glib.h
       2.91K 100%    2.78MB/s    0:00:00
       2.91K 100%    2.78MB/s    0:00:00 (xfer#2, to-check=180/183)
[2012/12/23 21:34:46] [>f+++++++++] (Last Modified: 2010/09/30-15:02:31) (bytes: 3613      ) glib-2.0/gmodule.h
       3.61K 100%    3.45MB/s    0:00:00
       3.61K 100%    3.45MB/s    0:00:00 (xfer#3, to-check=179/183)
...
...
[2012/12/23 21:34:46] [>f+++++++++] (Last Modified: 2010/09/30-15:02:31) (bytes: 8431      ) glib-2.0/gobject/gvaluecollector.h
       8.43K 100%  141.96kB/s    0:00:00
       8.43K 100%  141.96kB/s    0:00:00 (xfer#178, to-check=1/183)
[2012/12/23 21:34:46] [>f+++++++++] (Last Modified: 2010/09/30-15:02:31) (bytes: 8507      ) glib-2.0/gobject/gvaluetypes.h
       8.51K 100%  143.23kB/s    0:00:00
       8.51K 100%  143.23kB/s    0:00:00 (xfer#179, to-check=0/183)
total: matches=0  hash_hits=0  false_alarms=0 data=1305506

rsync[2996] (sender) heap statistics:
  arena:         540672   (bytes from sbrk)
  ordblks:            3   (chunks not in use)
  smblks:             7
  hblks:              2   (chunks from mmap)
  hblkhd:        401408   (bytes from mmap)
  allmem:        942080   (bytes from sbrk + mmap)
  usmblks:            0
  fsmblks:          592
  uordblks:      404784   (bytes used)
  fordblks:      135888   (bytes free)
  keepcost:      134240   (bytes in releasable chunk)

rsync[2999] (server receiver) heap statistics:
  arena:         286720   (bytes from sbrk)
  ordblks:            2   (chunks not in use)
  smblks:             8
  hblks:              3   (chunks from mmap)
  hblkhd:        667648   (bytes from mmap)
  allmem:        954368   (bytes from sbrk + mmap)
  usmblks:            0
  fsmblks:          672
  uordblks:      174480   (bytes used)
  fordblks:      112240   (bytes free)
  keepcost:      102352   (bytes in releasable chunk)

rsync[2998] (server generator) heap statistics:
  arena:         233472   (bytes from sbrk)
  ordblks:            4   (chunks not in use)
  smblks:             6
  hblks:              2   (chunks from mmap)
  hblkhd:        401408   (bytes from mmap)
  allmem:        634880   (bytes from sbrk + mmap)
  usmblks:            0
  fsmblks:          448
  uordblks:       83152   (bytes used)
  fordblks:      150320   (bytes free)
  keepcost:      131120   (bytes in releasable chunk)

Number of files: 183
Number of files transferred: 179
Total file size: 1.31M bytes
Total transferred file size: 1.31M bytes
Literal data: 1.31M bytes
Matched data: 0 bytes
File list size: 6.30K
File list generation time: 0.001 seconds
File list transfer time: 0.000 seconds
Total bytes sent: 350.39K
Total bytes received: 3.43K

sent 350.39K bytes  received 3.43K bytes  707.64K bytes/sec
total size is 1.31M  speedup is 3.69

Rsync के नए संस्करणों में प्रगति बार?

मैं इस एस एफ सवाल पर आया:

उत्तर में से एक का उल्लेख है कि rsyncवहाँ के नए संस्करणों में अब एक प्रगति बार के लिए समर्थन है। यह इस तरह दिख रहा है:

% ./rsync -a --info=progress2 /usr .
    305,002,533  80%   65.69MB/s    0:00:01  xfr#1653, ir-chk=1593/3594)

यह प्रगति पट्टी अभी भी स्थानांतरण में व्यक्तिगत फ़ाइलों की स्थिति नहीं दिखाती है, लेकिन यह समग्र हस्तांतरण का एक प्रतिशत दिखाती है जो सहायक हो सकता है।


1
जवाब के लिए धन्यवाद। यह अभी भी काफी नहीं है कि मैं क्या देख रहा हूँ। जब आपको एक व्यक्तिगत फ़ाइल डाउनलोड करने की आवश्यकता होती है, तो आइए (glib-2.0 / glib-object.h कहते हैं) - यह मुझे केवल इस फ़ाइल के लिए प्रगति पट्टी दिखाएगा । Glib-2.0 / glib-object.h 20Gb होने की कल्पना करें। अगर यह अभी भी डाउनलोड हो रहा है और कितना समय बचा है तो आपको कैसे पता चलेगा?
साल्मन


1

क्या आप डेमॉन मोड में rsync का उपयोग कर रहे हैं? Rsync का डिफ़ॉल्ट व्यवहार (डेबियन 6 पर) आपने कैसे अनुरोध किया है। हालाँकि, मैं rsyncd.conf के लिए मैन पेज में पा रहा हूँ कि डेमन मोड में डिफ़ॉल्ट व्यवहार है:

स्थानांतरण लॉगिंग
यह पैरामीटर कुछ प्रारूप में डाउनलोड और अपलोड की प्रति फ़ाइल लॉगिंग सक्षम करता है जो ftp डेमॉन द्वारा उपयोग किया जाता है। डेमॉन हमेशा अंत में ट्रांसफर लॉग करता है, इसलिए यदि ट्रांसफर निरस्त किया जाता है, तो लॉग फाइल में कोई उल्लेख नहीं किया जाएगा।
यदि आप लॉग लाइनों को अनुकूलित करना चाहते हैं, तो "लॉग फॉर्मेट" पैरामीटर देखें।

इसलिए यदि डेमॉन मोड में rsync का उपयोग किया जाता है, तो ऐसा लगता है कि आपको rsyncd.conf में "ट्रांसफर लॉगिंग" लाइन जोड़ना होगा।


नहीं, मैं बधिर मोड में नहीं हूं और मैं प्रत्येक प्रक्रिया के लिए प्रगति पट्टी नहीं देख रहा हूं , पूरी प्रक्रिया के लिए सारांश
सामन

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