मैं अपने घर निर्देशिका का बैकअप लेने के लिए इस rsync मंगलाचरण का उपयोग करता हूं:
rsync -aARrx --info= --force --delete --info=progress2 -F "$USER_HOME" "$BACKUP_MNTPOINT"
rsync मैन पेज कहता है कि -a का अर्थ है -g और -o (अन्य स्विच के बीच), जो स्वामित्व को संरक्षित करना चाहिए। हालाँकि मैंने देखा है कि अगर कोई निर्देशिका मौजूद नहीं है $BACKUP_MNTPOINT/$USER_HOME
, तो इसे रूट: सही स्वामित्व के बजाय रूट स्वामित्व के साथ बनाया जाता है। (यह केवल निर्देशिका के अंतर्गत होता है $BACKUP_MNTPOINT/$USER_HOME
)। ऐसा क्यों है?
$BACKUP_MNTPOINT
एक स्थानीय घुड़सवार ड्राइव है। $BACKUP_MNTPOINT/$USER_HOME
सही स्वामित्व और अनुमतियाँ हैं। न तो $USER_HOME
है और न ही $BACKUP_MNTPOINT
एक स्लैश के साथ समाप्त होता है।
स्रोत और लक्ष्य फाइलसिस्टम दोनों ही XFS हैं और चल रहा mkdir $BACKUP_MNTPOINT/$USER_HOME
है जो अपेक्षित स्वामित्व के साथ एक निर्देशिका बनाता है।
/home
और बैकअप ड्राइव के लिए XFS का उपयोग करता हूं । अब तक मुझे लगता है कि यह केवल मूल निर्देशिका के लिए हुआ है। न तो $BACKUP_MNTPOINT
है और न ही $USER_HOME
एक स्लैश के साथ समाप्त होता है। संपादित करें: मैं पुष्टि कर सकता हूं कि यह केवल नीचे निर्देशिकाओं में होता है$BACKUP_MNTPOINT/$USER_HOME
$BACKUP_MNTPOINT/$USER_HOME
सही अनुमति है लेकिन किसी भी उपनिर्देशिका नहीं है? कृपया अपना प्रश्न संपादित करें और इन विवरणों को जोड़ें। यह भी स्पष्ट करें कि क्या mkdir $BACKUP_MNTPOINT/$USER_HOME/foo
आप अपने उपयोगकर्ता के स्वामित्व वाली निर्देशिका बनाते हैं यदि आप इसे मैन्युअल रूप से करते हैं।
mkdir $BACKUP_MNTPOINT/$USER_HOME/foo
उपयोगकर्ता के स्वामित्व के साथ एक निर्देशिका बनाता है।
strace
(जैसा कि छद्म उत्तर में निर्दिष्ट है)।
$BACKUP_MNTPOINT
और इसे किस विकल्प के साथ रखा गया है? क्या यह केवल माता-पिता ($BACKUP_MNTPOINT/$USER_HOME
) निर्देशिका या निर्मित सभी निर्देशिकाओं के लिए होता है? करो$BACKUP_MNTPOINT
और$USER_HOME
एक के साथ अंत/
?