मैक ओएस - विभिन्न नेटवर्क क्रेडेंशियल्स के साथ rsync के लिए एक बैश स्क्रिप्ट चला रहा है


2

मैं स्थानीय मैक फ़ोल्डर्स से कॉर्पोरेट नेटवर्क ड्राइव में फ़ाइलों को कॉपी करने के लिए rsync चलाना चाहता हूं। नेटवर्क ड्राइव तक पहुंचने के लिए मुझे अपने स्थानीय उपयोगकर्ता खाते की तुलना में विभिन्न क्रेडेंशियल्स का उपयोग करके इसे माउंट करना होगा।

मैं निषिद्ध (13) त्रुटियों से बचने के लिए अपनी बाश स्क्रिप्ट (जो कुछ अलग rsyncs चलाता है) को अन्य उपयोगकर्ता (मेरा कॉर्पोरेट नेटवर्क उपयोगकर्ता) के रूप में कैसे बता सकता हूं

failed: Permission denied (13)
rsync error: some files could not be transferred (code 23) at /SourceCache/rsync/rsync-45/rsync/main.c(992)

संपादित करें:

ठीक है, इसलिए मैंने ~ / smb / pfimp / में एक शेयर बनाया और माउंट किया - मैं फ़ाइलों को पूरी तरह से ठीक पढ़ सकता हूं, और यह फ़ाइल सर्वर पर फ़ोल्डर्स बनाएगा, लेकिन यह वास्तविक फ़ाइलों को कॉपी नहीं कर सकता है।

कोई अन्य सुझाव? धन्यवाद

MAC:bin mylocaluser$ rsync -azP --exclude=.DS_Store ~/Documents/Work/Master/Scripts/demo/ ~/smb/pfimp/Scripts/demo
building file list ... 
38 files to consider
./
external/
external/workflow.py
        1225 100%    0.00kB/s    0:00:00 (xfer#1, to-check=35/38)
external/override/
external/override/before.py
        3229 100%    3.08MB/s    0:00:00 (xfer#2, to-check=33/38)
rsync: mkstemp "/Users/mylocaluser/smb/pfimp/Scripts/demo/external/.workflow.py.sEm5kg" failed: Permission denied (13)
rsync: mkstemp "/Users/mylocaluser/smb/pfimp/Scripts/demo/external/override/.before.py.iKs9MS" failed: Permission denied (13)

sent 2811 bytes  received 82 bytes  385.73 bytes/sec
total size is 31779  speedup is 10.98
rsync error: some files could not be transferred (code 23) at /SourceCache/rsync/rsync-45/rsync/main.c(992) [sender=2.6.9]

ps: शेयर को माउंट किए बिना अपने पहले पोस्ट से rsync कमांड को बदलना एक समाधान होगा, लेकिन अगर आप मैक पर काम कर रहे हैं, तो, लगभग किसी भी समय शेयर को माउंट करना बेहतर होगा और फिर "स्थानीय रूप से" फाइलों को कॉपी करें क्योंकि ऐप्पल प्रदान किए गए सॉफ़्टवेयर का उपयोग करता है, जो सॉफ़्टवेयर आपके Apple पीसी में फिट होता है, और सॉफ़्टवेयर का वह टुकड़ा जो मानक Gnu rsync के बजाय ऐप्पल में सुधार करता है (यह ज्यादातर मानक Gnu rsync नहीं होगा लेकिन ऐप्पल उन एप्लेट्स में सुधार नहीं करता है, लेकिन वहां स्वयं के उपकरण माउंट करने के लिए और इतने पर)
Schwertspize

जवाबों:


0

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

उपयोग:

mount_afp afp://yourserver/yourshare/folder mountpoint

यदि आप smb प्रोटोकॉल का उपयोग करते हैं, तो आप उपयोग कर सकते हैं mount_smbfs

Mount_afp का मैनपेज देखें और माउंट_smbfs के लिए यह एक है

विकल्प के साथ EDIT rsync -aकी समस्या है कि यह अनुमतियाँ सेट करने का प्रयास करता है, लेकिन यह सांबा हिस्सेदारी के कारण नहीं हो सकता है। उस व्यवहार -rको -aबदलने के बजाय विकल्प का उपयोग करना ।


धन्यवाद, हालांकि मेरे प्रश्न को संपादित देखें - यह अभी भी काम नहीं करता है। कोई और सुझाव?
JPMox

क्या आप "अनुमति अस्वीकृत" देखते हैं? मैंने शोध किया और पाया कि "मूल रूप से यह क्योंकि यह संग्रह मोड में करने की कोशिश करता है, और मेरे पास अनुमतियाँ बदलने की अनुमति नहीं है। इसलिए, यदि आप -a को हटाते हैं तो आपको यह त्रुटि नहीं
देखनी

शानदार, बहुत बहुत धन्यवाद! का उपयोग करके rsync -rzP(करने के लिए r) यह सर्वर पर फ़ाइलों पर अनुमतियाँ सेट करने का प्रयास नहीं किया
JPMox
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.