Ssh पर Rsync: "ERROR: मॉड्यूल केवल पढ़ा जाता है" अचानक दिखाई दिया


11

मैंने कुछ समय rsync / ssh से अपनी साझा होस्ट सामग्री का बैकअप मेरी व्यक्तिगत Synology NAS (उस मामले के लिए 212j) में उपयोग किया है, और इसने काफी अच्छा काम किया है। जानकारी के लिए, मैं एक पासवर्ड-कम sshकनेक्शन का उपयोग करता हूं ।

3 दिन पहले, मैंने अपना एनएएस सॉफ्टवेयर अपडेट किया और तब से (या कम से कम मुझे विश्वास है कि यह तब से है), बैकअप अब काम नहीं करेगा। मुझे मेजबान पर निम्नलिखित त्रुटि मिलती है:

rsync: writefd_unbuffered failed to write 4 bytes to socket [sender]: Broken pipe (32)
ERROR: module is read only 

..जिसे मैं नहीं समझता। इसके अलावा कि कुछ भी नहीं बदला है जो मुझे पता है कि स्रोत और गंतव्य दोनों से संबंधित है rsyncया sshमैं संबंधित हो सकता हूं, मैंने कुछ चीजों की जांच की और सभी ठीक लग रहे हैं:

  • मैं अभी भी sshअच्छे उपयोगकर्ता के साथ होस्ट से मेरे एनएएस के माध्यम से कनेक्ट कर सकता हूं , इसलिए ssh सामान की तरह चाबियाँ नहीं बदली हैं।
  • मैं भी (मैं जाँच की, और भी फ़ाइलें, निर्देशिका, बनाने की कोशिश की .. द्वारा प्रयोग किया जाता उपयोगकर्ता के साथ NAS पर सही फ़ाइल अनुमतियाँ rsyncके माध्यम से ssh)।

मैं यहां और वहां पढ़ता हूं कि त्रुटि का मतलब है कि मुझे यह सुनिश्चित करना है कि इसमें मेरा rsyncd.confअधिकार read only = noहै, लेकिन जहां तक ​​मुझे पता है, मैंने कभी भी उपयोग नहीं किया rsyncdऔर मैंने इसके लिए कभी भी कुछ भी कॉन्फ़िगर नहीं किया और अब तक यह एक आकर्षण की तरह काम करता है। ।

मैं बैकअप करने के लिए निम्न कमांड का उपयोग करता हूं:

rsync -ab --recursive \
--files-from="$FILES_FROM" \
--backup-dir=backup_$SUFFIX \
--delete \
--filter='protect backup_*' \
$WDIRECTORY/ \
remote_backup:$REMOTE_BACKUP/

इसलिए मैं फंस गया हूं और वास्तव में यह पता नहीं लगा सकता कि क्या हुआ।


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

जैसा कि टिप्पणियों में सुझाया गया है, मैंने भी ssh (लेकिन ssh सत्र के अंदर से नहीं) में कमांड पास करने की कोशिश की, जो कि उम्मीद के मुताबिक काम किया, और एक एकल rsync कमांड की भी कोशिश की, जो काम नहीं किया, पूर्ण बैकअप कमांड की तरह ही विफल रहा।

(sharedHost):hostuser:~ > touch test.txt
(sharedHost):hostuser:~ > rsync test.txt remote_backup:backups/test.txt
ERROR: module is read only
rsync error: syntax or usage error (code 1) at main.c(1034) [Receiver=3.0.8]
rsync: connection unexpectedly closed (9 bytes received so far) [sender]
rsync error: error in rsync protocol data stream (code 12) at io.c(601) [sender=3.0.7]

तथा

(sharedHost):hostuser:~ > ssh remote_backup 'touch /abs_path_to_backups/backups/test2.txt && echo "ProoF" > /abs_path_to_backups/backups/test2.txt'
(sharedHost):hostuser:~ > ssh remote_backup 'cat /abs_path_to_backups/backups/test2.txt'
ProoF

दूरस्थ अद्यतन परीक्षण करने का प्रयास करें, लेकिन कमांड लाइन पर ssh लॉगिन सत्र के माध्यम से ssh को दिए गए कमांड के साथ। यह भी सुनिश्चित करें कि लक्ष्य स्थान भरा नहीं है।
स्केपरन

आपके सुझाव के लिए धन्यवाद। मैंने उनके परिणाम के साथ प्रश्न संपादित किया। इसके अलावा, लक्ष्य स्थान बिल्कुल भी भरा नहीं है (मैं पहले से ही निश्चित था, लेकिन मैंने फिर से जाँच की)
user978548

जवाबों:


19

मुझे अपने Synology NAS को DSM 4.1 में अपडेट करने के बाद भी यही समस्या थी। मैं SSH पर rsync भी करता हूं। मेरी स्थिति में rsync उपयोगकर्ता रूट @ ip का उपयोग करते हुए भी काम किया लेकिन सर्वर पर फ़ाइलों को स्वामी रूट के साथ छोड़ दिया जो मुझे नहीं चाहिए था।

मैं NAS व्यवस्थापक उपयोगकर्ता नाम में पाया गया, कि ControlPanel में किसी कारण के लिए-> उपयोगकर्ता-> MyRSyncUser-> संपादन -> "Priviliges सेटअप" घरों में कोई पढ़ने / लिखने की पहुंच नहीं थी। मेरा RSYNC गंतव्य घरों के नीचे है।

इसे प्राइवेटलीज पर सेट करना मेरे लिए काम कर गया। आशा है कि ये आपकी मदद करेगा।


आपको बहुत - बहुत धन्यवाद ! वह काम किया ! अगली बार जब मैं DSM अपडेट करता हूं, तो मैं अनुमतियों की दोबारा जांच
करूंगा

8
यदि मैं पूर्ण पथ नामों (अर्थात के rsync something nas:/volume2/homes/foo/bar/बजाय rsync something nas:bar/) का उपयोग करता हूं तो यह काम करने लगता है ।
जुल्का सुमेला

पूर्ण पथ डिबगिंग के कष्टप्रद बाउट में मेरे लिए अंतिम चरण था। धन्यवाद!
जोवेलेंडर

1
इस समाधान के साथ समस्या (मैंने एक बेहतर नहीं पाया है) यह है कि यह उपयोगकर्ता के सभी घरों पर विशेषाधिकार देता है, न कि केवल अपने ही।
क्रायिंगसाइक्लोप्स

मेरे मामले में (एक नए संस्करण मुझे लगता है के साथ), मैं भी परिवर्तन करने के लिए मॉड्यूल आधारित वाक्य रचना करने के लिए (देखें था superuser.com/questions/559047/... )
sknat

6

मैंने ERROR से छुटकारा पा लिया: मॉड्यूल को केवल दूरस्थ पथ / var / सेवाओं / घरों / rsync से / volume2 / homes / rsync में बदलकर पढ़ा जाता है

डीएसएम 5.1


4

मैं समान समस्या का सामना करने के बाद एक synology ds1010 + को dsm 4.1-2661 में अपग्रेड कर रहा हूं।

मेरे पास यह समझने का समय नहीं है कि synology द्वारा प्रदान की गई rsync का क्या हुआ लेकिन यह मानक नहीं लगता है। तो यहाँ मेरा काम है ...

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

wget https://rsync.samba.org/ftp/rsync/rsync-3.0.9.tar.gz
tar xzvf rsync-3.0.9.tar.gz
cd rsync-3.0.9
export CFLAGS=--static
./configure
make

scp rsync <login>@<nas_hostname>:

आप इस पैरामीटर के साथ डिफ़ॉल्ट के बजाय अपने नए बाइनरी का उपयोग करने के लिए rsync बता सकते हैं:

--rsync-path=<myhome>/rsync

अब मैं अनुलिपि के साथ निम्न पैरामीटर जोड़कर rsync के साथ दोहराव का उपयोग जारी रख सकता हूं:

--rsync-options="--rsync-path=<myhome>/rsync"

यह वही है जो मैंने अपने DS212j के साथ किया, सिवाय मैंने नए rsync को स्थापित करने के लिए ipkg का उपयोग किया। IPkg स्थापित करने के लिए Synology के निर्देश यहां दिए गए हैं ।
जेसन

मैं DSM 5.2 के लिए ipkg पर कुछ भी नहीं पा सकता था, इसलिए अपने DS215j के लिए मैंने संकलन करने के लिए निम्न प्रकार किया (मेरे पास पहले से ही क्रॉस-कंपाइलर आर्म-अज्ञात-एग्बी-जीसीसी था) ./configure --host=armv7 CFLAGS=-static EXEEXT=-static --prefix=/opt CC=arm-unknown-linux-gnueabi-gcc && make && arm-unknown-linux-gnueabi-strip rsync && make DESTDIR=$PWD/../prefix install। NAS पर / ऑप्ट / बिन / में बाइनरी रखो। इसके अलावा मेरे बैकअप यूजर को / etc / passwd में / sbin / nologin को / bin / sh (कुछ और सुरक्षित विकल्प होने चाहिए) बदलकर एक शेल देना होगा।
thomasa88

1

मेरे पास एक ही तरह का मुद्दा था, लेकिन मैं rsync के लिए एक समर्पित उपयोगकर्ता का उपयोग नहीं कर रहा था।

मुझे कंट्रोल पैनल -> साझा किए गए फ़ोल्डर में विशेषाधिकार तय करने थे।


0

पुट्टी के ssh पर Synology 211j से कनेक्ट करते समय मेरे पास समान मुद्दा था। मुझे सक्षम होना था

"कंट्रोल पैनल -> नेटवर्क बैकअप -> नेटवर्क बैकअप सेवा सक्षम करें"।

यह अब काम कर रहा है।


-1

मैंने इसे व्यवस्थापक या नियमित उपयोगकर्ता के बजाय रूट के रूप में लॉग इन करके काम किया।

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