निरस्त cp जारी रखें


17

क्या यह समाप्त cpहोने के बाद फिर से चलना संभव है और इसे शुरू करना जहां यह पिछली बार समाप्त हो गया (पहले से ही कॉपी किए गए डेटा को अधिलेखित न करें, केवल वही कॉपी करें जो अभी भी बचा है)?

जवाबों:


32

यह इस तरह के मामले हैं जिन्होंने मुझे rsyncशुरू से उपयोग करना सिखाया है । हालाँकि आपके मामले में, आप अभी rsync का उपयोग कर सकते हैं। यह केवल नए डेटा की प्रतिलिपि बनाएगा, जिसमें cpएक बड़ी फ़ाइल के माध्यम से आधा रास्ता रोका जाना शामिल है ।

आप इसे cp की तरह ही उपयोग कर सकते हैं, जैसे:

rsync --append /where/your/copying/from /where/you/want/to/copy

3
या --append-verifyअंत में केवल सुनिश्चित होने के लिए चेकसम की तुलना करें।
ज़ाज़

7

-U स्विच का उपयोग करें, और cp मैन पेज देखें।


लेकिन स्रोत फाइलें नहीं बदलीं या कुछ भी नहीं
फिल

1
-u केवल 'अपडेट' के लिए है ... यानी: यह गंतव्य की मौजूदा फ़ाइलों को अधिलेखित नहीं करेगा यदि वे समान या नए हैं ...
ericslaw

2
यदि आप -u का उपयोग करते हैं, तो यह उसी बड़ी फ़ाइल को फिर से कॉपी करेगा। -u ही मदद करता है अगर आप एक बड़ी पुनरावर्ती प्रतिलिपि फिर से शुरू करने की कोशिश कर रहे हैं।
रोरी

7

यदि गर्भपात cpएक पुनरावर्ती प्रतिलिपि था, तो आप विकल्प सहित rsync के साथ फिर से शुरू करना चाह सकते हैं --recursive

उदाहरण

निरस्त प्रतिलिपि आदेश:

cp -r source-directory destination-directory

चलिए मान लेते हैं कि destination-directoryपहले से मौजूद है, इसलिए इस कॉपी कमांड ने एक निर्देशिका बनाई है जिसका नाम source-directory है destination-directory । इसके माध्यम से फिर से शुरू किया जा सकता है:

rsync --recursive --append source-directory destination-directory

ध्यान दें कि अनुगामी स्लैश का rsync पथ विकल्पों में सटीक अर्थ है।

इस मामले में, कॉपी कमांड तर्क प्राप्त कर सकता है source-directoryया source-directory/, इससे कोई फर्क नहीं पड़ता। Rsync कमांड में, हालांकि, यह source-directory स्लैश को पीछे किए बिना होना चाहिए ।


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