Cygwin में नेटवर्क ड्राइव में डायरेक्टरी बदलें


10

मेरे घर में एक नया वायरलेस राउटर है और इसमें 3 टीबी ड्राइव लगा है। मैं cygwin में एक बैकअप स्क्रिप्ट लिखना चाहूंगा जो किसी भी बदली हुई फाइल को बाहरी HD पर कॉपी करेगा।

शुरुआत के लिए, मैं cdहार्ड ड्राइव में कैसे करूं ? विंडोज़ फ़ाइल एक्सप्लोरर में मैं बस टाइप करता हूं //192.168.1.1और यह मुझे नेटवर्क ड्राइव पर ले जाता है। हालांकि, जब मैं टाइप cd //192.168.1.1करता हूं तो यह काम नहीं करता है। तो मैं निर्देशिका को HD में कैसे बदल सकता हूं?

दूसरे, क्या किसी के पास सलाह है कि अगर वे बदल गए हैं तो कुछ निर्देशिकाओं (पुनरावर्ती) की प्रतिलिपि बनाने के लिए एक अच्छा बैकअप स्क्रिप्ट कैसे लिखें?

जवाबों:


15

आप अंतर्निहित विंडोज ओएस के साइबरविन यूनिक्स पर्यावरण के दृश्य में घुड़सवार ड्राइव को देख सकते हैं /cygdrive। एक है dfcygwin सुरक्षा प्रॉम्प्ट (आमतौर पर bashदेखने के लिए जहां ड्राइव रखा जाता है)। यहाँ प्रलेखन है जहाँ घुड़सवार ड्राइव पाए जाते हैं । उदाहरण के लिए, नेटवर्क ड्राइव विंडोज के रूप में माउंट करने के लिए बदलने के लिए f:\, आप चाहते cdकरने के लिए /cygdrive/fके रूप में,:

$ cd /cydrive/f

यहाँ एक उदाहरण है:

  1. OS X Mavericks (UNIX) में 3 टीबी ड्राइव लगा है /Volumes/Time Machine
  2. एक वर्चुअल विंडोज एक्सपी (वीएम) ओएस एक्स पर चल रहा है, और /Volumes/Time Machineजैसा दिखता हैX:\
  3. Cygwin XP VM पर चल रहा है, और /Volumes/Time Machineजैसा /cygdrive/xया यहाँ तक कि देखता हैx:

$ ls x:

यहाँ एक तस्वीर है:

यहां छवि विवरण दर्ज करें

यदि बाहरी HD वर्तमान में विंडोज होस्ट पर माउंट नहीं किया गया है और पहले से ही माउंट पॉइंट के लिए मैप किया गया है /cygdrive, तो आपको नेटवर्क शेयर को स्वयं माउंट करने की आवश्यकता हो सकती है। UNIX mountकमांड के साइबरविन के कार्यान्वयन पर एक नज़र डालें

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

$ cd //192.168.0.2/whmcclos

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

बदल गई फ़ाइलों का rsyncबैकअप लेने के लिए, केवल एक डायरेक्टरी ट्री में मौजूद फ़ाइलों का बैकअप ले लेंगे , जो बदल गए हैं - यह एक न्यूनतम बैकअप सेट की गणना करता है, और केवल वही बदल जाता है, जिसमें विकल्पों की भरमार होती है, जिसमें नेटवर्क ड्राइव पर कॉपी करना और होना भी शामिल है। के माध्यम से एन्क्रिप्शन के साथ इस्तेमाल किया जा सकता है sshयहां कुछ संकेत दिए गए हैं जैसे कि rsyncसाइबरविन के साथ प्रयोग करना। यहाँ एक ड्राइव को ड्राइव पर संपीड़ित और संग्रह (पुनर्खरीद) स्रोत के रूप में रखा गया है c:\ और f:\विंडोज होस्ट अंतर्निहित साइबरविन पर घुड़सवार ड्राइव के लक्ष्य पर रखा गया है ।

$ rsync -avz /cygdrive/c/path/to/source /cygdrive/f/path/to/target

यदि आपको और कोई सहायता चाहिए, तो कृपया एक टिप्पणी छोड़ दें।


धन्यवाद, मेरे पास अभी भी एक प्रश्न है - जब मैंने उपयोग किया -avz, तो यह अनुमतियों को सही ढंग से कॉपी नहीं करता है। मुझे मिलता है rsync: failed to set permissions on "<path>": Permission denied (13)। किसी भी विचार यह कैसे सही करने के लिए?
drjrm3

ऐसा लगता है कि मैंने एक बार अनुमतियों के साथ देखा था, विशेष रूप से एसीएल अनुमतियों के साथ। ACL सहित अनुमतियों को देखें /bin/ls -le /path/to/sourceऔर /bin/ls -le /path/to/targetन केवल विभिन्न फ़ोल्डर अनुमतियों की जाँच करें, बल्कि उन फ़ोल्डरों में ACL अनुमतियाँ भी देखें। देखें man lsऔर -leस्विच और man chmodऔर +aऔर -aस्विच। मैं 99% निश्चित हूं कि इसकी कुछ अनुमतियाँ हैं। कहने के लिए स्रोत पेड़ के एक सबसेट को rsync'ing से शुरू करें /tmp, जहां आपको पता है कि आपके पास लिखित अनुमति है, और देखें कि यह कैसे काम करता है।
बिली मैकक्लोस्की

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