रूट के रूप में rsync चलाएँ, लेकिन उपयोगकर्ता स्वामित्व रखें


36

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


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

जवाबों:


46

-aध्वज का उपयोग करें , जिसमें अन्य चीजें, विकल्प -oऔर शामिल हैं -g, जो मालिकों और समूहों को संरक्षित करते हैं। इसके लिए जरूरी है कि आप rsyncजड़ के रूप में दौड़ें ।

यह भी देखें man rsync


1
क्या जड़ के बिना भी यह संभव है? क्या सीपरेट सीडर फाइल में मैपिंग को स्टोर करने का विकल्प है?
thomas.mc.work

1
इस टिप्पणी को याद किया। नहीं, यह बिना काम नहीं करता है rootक्योंकि आपको मालिक को किसी और को बदलने की अनुमति नहीं है, फिर आपका अपना उपयोगकर्ता। एक मैपिंग फ़ाइल इस सब में मदद नहीं करेगी।
स्वेन

15

अनुमतियाँ रखना "संग्रह" मोड के माध्यम से प्राप्त किया जाता है -a,। आम उदाहरण है -avz:

rsync -avz foo:src/bar/ /data/bar

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


5

यदि आप बैकअप के लिए rsync का उपयोग कर रहे हैं तो मैं वास्तव में rsnapshot का उपयोग करने की सिफारिश कर सकता हूं (यह rsync का उपयोग करता है)। यह बैकअप को घुमाता है और हार्ड लिंक का उपयोग करता है ताकि आप अपने दैनिक बैकअप के बीच अंतर देख सकें (लेकिन फ़ोल्डर अभी भी ऐसे दिखते हैं जैसे उनके पास पूर्ण सामग्री है)। मैं काम पर विंडोज और लिनक्स सर्वर दोनों का बैकअप लेने के लिए इसका उपयोग करता हूं। हमारे लिए बिल्कुल सही!

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