उबंटू 18.04 पर दो अलग-अलग स्थानों वाले एक फ़ोल्डर


10

मैं अपने उबंटू में दो अलग-अलग स्थानों पर एक ही फ़ोल्डर रखना चाहता हूं। अगर मैं एक में कुछ अपडेट करता हूं, तो उसे दूसरे स्थान पर भी अपडेट होना चाहिए।

मैं इसे कैसे बना सकता हूं?


8
क्या उन 2 स्थानों को भौतिक होना चाहिए (जैसे कि 2x स्थान लेना) या क्या वे लिंक हो सकते हैं?
रिनजविंड

19
A symbolic linkआपकी आवश्यकता का सबसे सरल समाधान है और सुपरसुसर विशेषाधिकारों पर निर्भर नहीं है। man lnअधिक जानकारी के लिए।
doneal24

जवाबों:


16

बाइंड माउंट का उपयोग करें ।

मान लीजिए कि आपके पास एक मौजूदा निर्देशिका है /home/pandey/originalऔर आप इसे दर्पण करना चाहते हैं /home/pandey/mirrorताकि आप दोनों में से जो कुछ भी करते हैं वह स्वचालित रूप से दूसरे में भी हो।

इसके लिए दो निर्देशिकाओं के बीच किसी भी समन्वय या प्रतिलिपि की आवश्यकता नहीं होती है। एक बांध माउंट मूल निर्देशिका के लिए सिर्फ एक और दृश्य है और जो एक में होता है वह दूसरे में भी होता है।

  1. नई निर्देशिका बनाएं (अपने उपयोगकर्ता के रूप में) /home/pandey/mirror:

    mkdir /home/pandey/mirror
    
  2. मूल निर्देशिका को नए बनाए गए पथ से बांधें । इसके लिए रूट एक्सेस की आवश्यकता है:

    sudo mount --bind /home/pandey/original /home/pandey/mirror
    
  3. का आनंद लें।

इसे पूर्ववत करने के लिए, बस

sudo umount /home/pandey/mirror
rmdir /home/pandey/mirror

बाइंड-माउंट्स के बारे में स्टैटेक्सचेंज पर इस सवाल और इसके उत्कृष्ट स्व-उत्तर को भी देखें ।


3
+1, यह सुनिश्चित करने के लिए कि यह तरीका मेरे प्रस्तावित करने के तरीके से अधिक तेज़ है;
कोडिटो एर्गो योग

13
Would'd cd /home/pandey; ln -s original mirrorही प्रभाव है और sudo अधिकार की आवश्यकता नहीं?
doneal24

19
हाँ, मैं सोच रहा हूँ कि लोग इन गोल चक्कर समाधानों का प्रस्ताव क्यों दे रहे हैं जबकि यह एक साधारण सी लिंक के लिए एक क्लासिक उपयोग के मामले जैसा लगता है। फायदा क्या है? जहाँ तक मैं संदर्भित प्रश्न में सूचीबद्ध लाभों में से कोई भी नहीं देख सकता हूँ, यहाँ पर लागू होता है।
वू

5
@ doneal24 मैं सहमत हूं: प्रतीकात्मक जुड़ाव का व्यावहारिक दृष्टिकोण से समान प्रभाव पड़ता है और इसके लिए मूलभूत प्रणाली परिवर्तन और व्यवस्थापक विशेषाधिकारों की आवश्यकता नहीं होती है।
वैनेडियम

2
बाइंड माउंट पर जुड़े प्रश्न में संभावित उपयोग के मामलों की एक अच्छी सूची है। बस एक निर्देशिका के लिए एक और नामित पथ की आवश्यकता नहीं है।
दूब

44

जैसा कि टिप्पणियों में बताया गया है, लेकिन उचित उत्तर के रूप में नहीं:

कई मामलों में, एक प्रतीकात्मक लिंक सबसे आसान समाधान है।

आप उन्हें कमांड लाइन ( पैरामीटर के lnसाथ कमांड का उपयोग करके -s) पर आसानी से बना सकते हैं । आप उन्हें GUI का उपयोग करके भी आसानी से बना सकते हैं: अधिकांश फ़ाइल ब्राउज़र (nautilus, ...) आपको एक संशोधक कुंजी (CTRL + SHIFT) को दबाए रखते हुए ड्रैग एंड ड्रॉप (जैसे फ़ाइल को स्थानांतरित करने के लिए) का उपयोग करके एक प्रतीकात्मक लिंक बनाते हैं।

कमांड लाइन के उपयोग के लिए उदाहरण:

$ mkdir first_dir
$ ln -s ./first_dir ./second_dir
$ ls 
first_dir  second_dir

$ touch ./first_dir/test_1
$ touch ./second_dir/test_2

$ ls ./first_dir 
test_1  test_2

$ ls ./second_dir
test_1  test_2

2

आप इसे एक कांटेस्ट जॉब सेट करके कर सकते हैं:

  • अपना टर्मिनल खोलें और टाइप करें crontab -e
  • iअपने विम संपादक के सम्मिलित मोड को सक्रिय करने के लिए दबाएँ ।

आप जो कमांड वहां करना चाहते हैं उसे दर्ज कर सकते हैं, इसलिए आप फ़ोल्डर की सभी फाइलों को किसी अन्य फ़ोल्डर में कॉपी कर सकते हैं। उदाहरण के लिए, आप सभी फ़ाइलों की प्रतिलिपि बनाने में चाहते हैं /home/user/folder_nameकरने के लिए /home/user/publicआप अपने में इस आदेश डालूँ crontabफ़ाइल:

rsync /home/user/folder_name -r /home/user/public

यह वांछित अंतराल में सभी फाइलों को कॉपी करेगा। यदि आप हर दिन 21:30 पर सभी फाइलों को कॉपी करना चाहते हैं तो आपका संपादन होना चाहिए:

 30 21 * * *  rsync /home/user/folder_name -r /home/user/public

के बारे में अधिक जानकारी के लिए crontab नज़र यहाँ या उपयोग man crontab


मैं शायद @PerlDuck के रूप में bind mounts का उपयोग करूँगा, यह करने का एक आसान और आसान तरीका है। यदि आप किसी मशीन को कई स्थानों पर सिंक्रनाइज़ कर रहे हैं और पहले फ़ोल्डर में फ़ाइलें बहुत बड़ी या कई हैं, तो मैं आपके मशीन पर सभी प्रकार की प्रदर्शन समस्याओं को जन्म दे सकता हूं, क्योंकि यह क्रोनॉजर्स का उपयोग नहीं करेगा। मेरी कंपनी ड्रॉपबॉक्स / ड्राइव व्यवहार का अनुकरण करने के लिए इस दृष्टिकोण का उपयोग कर रही है और अब जब हम बड़ी संख्या में फ़ाइलों तक पहुंच गए हैं, तो उनमें से कुछ में जीबी का आकार है, समाधान बस अब पैमाने पर नहीं है।
नायाब

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