क्या मैं एक ऐसे फ़ोल्डर को स्कैप कर सकता हूं जिसमें सब फोल्डर हों?


31

मेरे पास एक फ़ोल्डर है जिसमें स्थिर वेबसाइट के लिए फाइलें हैं जैसे:

/site/index.html
/site/css/css.css
/site/js/js.js
/site/images/...

अगर मैं अपने लैपटॉप पर कुछ अपडेट करता हूं, तो मैं चाहता हूं कि मेरे ubuntu सर्वर पर फाइलें भेजने के लिए एक ही कमांड हो। मैं उस पर एफ़टीपी सेटअप नहीं करना चाहता अगर मेरे पास भी नहीं है, तो सोच रहा था कि क्या एसएचपी इसे संभाल पाएगा?


मैं इस tarमाध्यम से पसंद करता हूँ ssh: unix.stackexchange.com/a/10028/79839
लड़कियों

जवाबों:


56

आदेश स्रोत केscp -r source user@target:dest सभी उपनिर्देशिकाओं को चलाएगा और उन्हें कॉपी करेगा।

हालाँकि, scpव्यवहार करता है cpऔर हमेशा फ़ाइलों की प्रतिलिपि बनाता है, भले ही यह स्रोत और गंतव्य दोनों पर समान हो। [ वर्कअराउंड के लिए यहां देखें ।]

जैसा कि यह एक स्थैतिक वेबसाइट है, आप पूरी तरह से केवल अपडेट करने की कोशिश कर रहे हैं, न कि पूरी चीज को फिर से बनाने के लिए, इसलिए आप संभवतः चीजों को तेजी से आगे बढ़ाएंगे यदि आप rsyncइसके बजाय ssh का उपयोग करते हैं scp। शायद कुछ पसंद है

rsync -av -e ssh source user@target:dest

...आरंभ करना। यदि आप इसे LAN पर कर रहे हैं, तो मैं व्यक्तिगत रूप से -avWइसके बजाय विकल्पों का उपयोग करूंगा rsync

Rsync आपको अपने स्रोत में हटाए गए डुप्लिकेट की क्षमता भी देता है; इसलिए यदि आप अपने पेड़ से एक फ़ाइल निकालते हैं, तो आप rsyncऊपर के रूप में चला सकते हैं , और ध्वज को शामिल कर सकते हैं --deleteऔर यह गंतव्य की ओर से उसी फ़ाइल को हटा देगा।


9

scp के पास एक पुनरावर्ती झंडा है जो आप चाहते हैं वह करेगा। scp -r /base/directory user@server:/to/location

से man scp

-r      Recursively copy entire directories.  Note that scp follows symbolic
          links encountered in the tree traversal.

2

scp -r और rsync -r सबसे विश्वसनीय तरीके हैं जो आप चाहते हैं, जैसा कि दूसरों ने नोट किया है।

आप sshfs का उपयोग 'माउंट' करने के लिए भी कर सकते हैं जैसे कि यह एक स्थानीय ड्राइव हो: sshfs user@host:/site /mnt/mountpoint

(हालांकि, आप शायद स्थानीय रूप से काम करने और rsync के साथ तैनात होने से बेहतर हैं। बस एक और उपकरण के बारे में पता होना चाहिए।)

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