Ssh पर Rsync, हर बार बढ़िया काम करता है।
हालाँकि, एक मेजबान के लिए rsync की कोशिश करना जो केवल sftp लॉगिन की अनुमति देता है, लेकिन ssh लॉगिन नहीं, निम्न त्रुटि प्रदान करता है:
rsync -av / source ssh user @ Remotehost: / target /
प्रोटोकॉल संस्करण बेमेल - क्या आपका शेल साफ है? (rsync मैन पेज को एक स्पष्टीकरण के लिए देखें) rsync त्रुटि: कंपेटिटिव असंगतता (कोड 2) पर कंपोज़िटसी (171) [प्रेषक = 3.0.6]
यहाँ rsync मैन पेज से संबंधित अनुभाग दिया गया है:
यह संदेश आमतौर पर आपके स्टार्टअप स्क्रिप्ट या रिमोट शेल सुविधा के कारण होता है, जो कि rsync अपने परिवहन के लिए उपयोग कर रहा है। इस समस्या का निदान करने का तरीका आपके दूरस्थ शेल को इस तरह चलाना है:
ssh remotehost /bin/true > out.dat
फिर out.dat को देखें। यदि सब कुछ सही ढंग से काम कर रहा है तो out.dat एक शून्य लंबाई फ़ाइल होनी चाहिए। यदि आपको rsync से उपरोक्त त्रुटि मिल रही है तो आप संभवतः पाएंगे कि out.dat में कुछ पाठ या डेटा हैं। सामग्री को देखें और यह काम करने की कोशिश करें कि यह क्या उत्पादन कर रहा है। सबसे कॉमन मोन कारण गलत तरीके से शेल स्टार्टअप स्क्रिप्ट कॉन्फ़िगर किया गया है (जैसे .cshrc या .profile) जिसमें गैर-संवादात्मक लॉगिन के लिए आउटपुट स्टेटमेंट होते हैं।
मेरे सिस्टम पर इसे आज़माने से out.dat में निम्न उत्पादन हुआ:
ssh-dummy-shell: कमांड की अनुमति नहीं है।
जैसा कि मैंने सोचा था, मेजबान ssh लॉगिन की अनुमति नहीं दे रहा है।
निम्नलिखित लिंक से पता चलता है कि sshfs के साथ फ्यूज का उपयोग करके इस कार्य को पूरा करना संभव है - हालांकि यह बेहद धीमा है, और उत्पादन के उपयोग के लिए फिट नहीं है।
क्या काम करने के लिए rsync sftp प्राप्त करने का कोई मौका है?
csync /home/csync sftp://csync@krikkit.galaxy.site:2222/home/csync
यह उत्तर देखें ।
lftp -e "mirror -eRv /local/dir/ /remote/dir; quit;" sftp://user@server:port