मैं पूरी वेब निर्देशिका को कैसे पुन: कॉपी / डाउनलोड कर सकता हूँ?


9

जब मैं Nautilus का उपयोग करके किसी वेब डिस्क सर्वर से स्थानीय डिस्क पर एक फ़ोल्डर को कॉपी करने का प्रयास करता हूं, तो यह कॉपी करता है कि क्या प्रकट फ़ाइल (निर्देशिका लिस्टिंग आदि के साथ xml) हो।)। कैडेवर के साथ मुझे एक खाली फाइल मिलती है।

मैं एक पूरी निर्देशिका ट्री पुनरावर्ती रूप से कॉपी करने में सक्षम होना चाहूंगा। क्या कोई जानता है मैं ऐसा कैसे कर सकता हूँ?

ps: मैं Ubuntu 11.04 का Nautilus 2.32.2.1 और Cadaver 0.23.3 के साथ उपयोग कर रहा हूं


क्या आपको GUI के साथ एक उपकरण की आवश्यकता है या आपके लिए "अच्छा पर्याप्त" wget है?
ओकासो प्रोटल

मैं wget में झांकता था, और यह
वेबदाव

2
इसे आज़माएँ: wget --user = {username} --password = {password} --wait = 20 --limit-rate = 20K -r -p -U Mozilla http: // {वेबसाइट} यदि यह काम करता है तो इसे जोड़ें एक उत्तर के रूप में;)
रिनविंड

1
लेकिन webdav सिर्फ सादा https है, इसलिए wget काम करना चाहिए। एक त्वरित Google खोज ने मुझे astron.nl/northstar/nswiki/lib/exe/… दिया, जिसे वेबदव के साथ wget पर एक त्वरित अवलोकन प्राप्त करने के लिए
Ocaso Protal

1
दिलचस्प .. जब मैं इसे किसी वेबदाव निर्देशिका / संग्रह की ओर इंगित करता हूं, तो यह उस निर्देशिका के लिए html फ़ाइल को पकड़ लेता है (यानी: एक वेबपेज के रूप में वहां की चीजों की सूची के साथ) फिर शिकायत करता है: "लोकलहोस्ट / वेबदाव / कैलिबर-लाइब्रेरी: नहीं एक निर्देशिका /webdav/calibre-library/index.html: डायरेक्टरी नहीं ”। जब मैं इसे वेबदाव रूट पर इंगित करता हूं, तो इसकी यादृच्छिकता ... व्हॉट्स वेबसर्वर को डाउनलोड करना शुरू करना समाप्त हो जाता है .. ध्यान दें कि यह केवल https है और स्व-हस्ताक्षरित है, इसलिए मुझे '-no-check-certificate' जोड़ना था
drevicko

जवाबों:


3

यह उत्तर @Ocaso और @Rinzwind द्वारा टिप्पणियों में दिए गए सुझावों को संक्षेप में प्रस्तुत करता है।

मैंने इसका उपयोग किया:

wget -r -nH -np --cut-dirs=1 --no-check-certificate -U Mozilla --user={uname} 
    --password={pwd} https://my-host/my-webdav-dir/my-dir-in-webdav

सही नहीं है (बहुत सारे 'index.html; C = M; O = D' और इसी तरह डाउनलोड किए गए) लेकिन अन्यथा ठीक काम किया।

"-R" लिंक के बाद, पुनरावर्ती डाउनलोड करता है।

"-Np" मूल निर्देशिकाओं पर चढ़ने से रोकता है (अन्यथा आप पूरी वेबसाइट डाउनलोड करते हैं!)।

"-NH" "माय-होस्ट" (जो मैं नहीं चाहता था) नामक एक निर्देशिका बनाने से रोकता है।

"--Cut-dirs = 1" "my-webdav-dir" नामक एक निर्देशिका बनाने से रोकता है।

"-नो-चेक-सर्टिफिकेट" इसलिए है क्योंकि मैं वेबदाव सर्वर पर एक स्व-हस्ताक्षरित प्रमाणपत्र का उपयोग कर रहा हूं (मैं भी https मजबूर कर रहा हूं)।

"-U मोज़िला" http अनुरोध में उपयोगकर्ता एजेंट को "मोज़िला" के लिए सेट करता है - मेरे वेबदाव सर्वर को वास्तव में इसकी आवश्यकता नहीं थी, लेकिन मैंने इसे वैसे भी शामिल किया है।


नेक्लाउड से किसी फाइल को डाउनलोड करने के लिए इसका उपयोग सामग्री के साथ एक फाइल को डाउनलोड करने के लिए करता है This is the WebDAV interface. It can only be accessed by WebDAV clients such as the Nextcloud desktop sync client.:। किसी भी विचार क्यों होता है?
माइक्रोटैगस

मेरा अनुमान है कि अगलीक्लाउड एक उपयोगकर्ता एजेंट की अपेक्षा करता है जो एक WebDAV क्लाइंट की तरह दिखता है (जैसा कि मोज़िला के विपरीत है, जो एक ब्राउज़र है)। यदि आपके पास उनका ग्राहक है और एक पैकेट स्निफर (जैसे: वायरशार्क) है तो आप यह पता लगा सकते हैं कि उपयोगकर्ता एजेंट इसका उपयोग किन अनुरोधों में करता है।
ड्रेविको

वैकल्पिक रूप से पता करें कि यह उपयोगकर्ता एजेंट वेब से "मोज़िला / 5.0 (Android) नेक्स्टक्लाउड-एंड्रॉइड / 3.8.0" हो सकता है
ड्रेविको

बहुत बहुत धन्यवाद drevicko !! मैं यह करूँगा
micromegas

यहाँ भी । सौभाग्य!
ड्रेविको

3

वास्तव में कैडेवर के साथ आप उस cdनिर्देशिका में जा सकते हैं जहाँ से आप फ़ाइलों को डाउनलोड करना चाहते हैं और mget *


2
इसके लिए एक उपयोगी उत्तर होने के लिए, आपको उपयोगकर्ता को यह बताने की आवश्यकता है कि यह कैसे करना है।
RolandiXor

1
एचएम, mget * .एक फ़ोल्डर में या mget foldernameपरिणाम में 501 Not Implemented। क्या यह वास्तव में आपके लिए box.com पर काम कर रहा था?
एलेक्जेंडरडम

@Wurstsalat आपको अतिरिक्त नहीं डालना चाहिए। ' ; यह तर्कों के रूप में फ़ाइल नाम भी लेता है, इसलिए आपको `mget foldername / filename 'करने की आवश्यकता होगी।
जसून

जब उप-वर्ग ( पुनरावर्ती भाग) हो तो वह मेरे लिए काम नहीं करता है ।
रेडॉन रोसबोरो

3

आप वेब सर्वर को माउंट करने के लिए dav2fs का उपयोग कर सकते हैं, और फिर आप इसे स्थानीय निर्देशिका के रूप में एक्सेस कर सकते हैं।


फ़ाइलों और फ़ोल्डरों तक आसान पहुँच
bobbyrne01

और यह विधि अन्य लोगों की तुलना में सबसे धीमी है और हमेशा काम नहीं करेगी (फिलामेंट-स्क्विक्स से संबंधित बग)।
अलेक्जेंडरडम

3

वैकल्पिक रूप से आप इसे अपने स्वयं के फ़ाइल सिस्टम के हिस्से के रूप में एक्सेस किए जाने वाले पथ के रूप में माउंट कर सकते हैं।

sudo mount -t davfs https://your.remote/path /your/local/mount/point

नोट: /your/local/mount/pointइस काम के लिए एक वास्तविक मौजूदा निर्देशिका होना चाहिए।

जहां तक ​​मुझे पता है कि आपको केवल काम करने के लिए कमांड प्राप्त करने के लिए निम्नलिखित को चलाने की आवश्यकता है: sudo apt-get install davfs2(यदि अधिक कॉन्फ़िगरेशन की आवश्यकता है तो मैं माफी माँगता हूं, यह बहुत समय पहले था कि मैंने ऐसा किया था।)

(मैंने इसे एक उत्तर के रूप में जोड़ा क्योंकि मुझे लगता है कि लियाम का जवाब पर्याप्त जानकारी नहीं देता था।)


sudoफ़ाइल डाउनलोड करने के लिए उपयोग करना वास्तव में सही नहीं लगता है।
इक्वेडामॉइड

1
@Equidamoid बढ़ते फाइल सिस्टम को रूट एक्सेस की आवश्यकता होती है क्योंकि यह आपको कुछ मामलों में स्थानीय UNIX अनुमतियों को बायपास करने की अनुमति दे सकता है।
रेडॉन रोसबोरो
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.