मैं अपने एंड्रॉइड डिवाइस को rsync संगीत (या अन्य सामान) से कैसे कनेक्ट कर सकता हूं?
मैं अपने एंड्रॉइड डिवाइस को rsync संगीत (या अन्य सामान) से कैसे कनेक्ट कर सकता हूं?
जवाबों:
हर कोई कह रहा है कि यह आसान है, पहले ध्यान दें कि जब जीवीएफएस एमटीपी माउंट की गणना करता है तो यह उपलब्ध होगा। आप फोन को एक ग्राफिकल फ़ाइल-ब्राउज़र (थूनर / नॉटिलस / आदि) में खोलकर इसे बाध्य कर सकते हैं
/run/user/$UID/gvfs
वहाँ जाओ। मान लें कि आपके पास एक mtp डिवाइस है, तो यह काम करना चाहिए:
$ cd /run/user/$UID/gvfs/mtp*
खोजें कि आप फ़ाइलों को कहाँ स्थानांतरित करना चाहते हैं, और फिर उन्हें rsync करें
$ cd SanDisk\ SD\ card/Movies/
$ pwd # prints "/run/user/1000/gvfs/mtp:host=%5Busb%3A003%2C096%5D/SanDisk SD card/Movies"
$ rsync --verbose --progress --omit-dir-times --no-perms --recursive --inplace ~/Videos/ ./
--inplace: मैं अत्यधिक सुझाव देता हूं कि --inplaceकिस mtp के बिना फाइल को नया कॉपी करना चाहते हैं, और फिर इसे पुराने नाम से बदल सकते हैं। फ़ाइल को एसडी कार्ड में दो बार कॉपी करने के परिणामस्वरूप हो सकता है: एक बार एसडी कार्ड में एमटीपी हस्तांतरण के लिए, और दूसरी बार क्योंकि एमटीपी चालक समर्थन नहीं कर सकता है (एमवी), यह सुरक्षित होने के लिए हुड के नीचे (सीपी / आरएम) हो सकता है। ।--verbose, --progress, --recursiveलेकिन वे बहुत आत्म दस्तावेज़ीकृत कर रहे हैं।--omit-dir-times --no-perms आवश्यक हैं क्योंकि mtp उस का समर्थन नहीं करता है।--omit-dir-times --no-perms --ignore-existing। Rsync MTP पर निर्देशिका टाइमस्टैम्प सेट करने में विफल रहता है। मुझे पूरा यकीन है कि "कोई अनुमति नहीं" डिफ़ॉल्ट है, लेकिन मैं इसे निर्दिष्ट करना पसंद करता हूं। मौजूदा फाइलों को नजरअंदाज करने से वह उसे वहीं छोड़ सकती है जहां उसे छोड़ा गया था।
--ignore-existing? वह सिर्फ अतिरेक खो रहा है। आप हमेशा ऐसा कर सकते हैं --size-onlyजो निर्देशिका लिस्टिंग के सिंक को कम करता है और चेकसम को नहीं। मैं जोड़ने जा रहा हूँ --omit-dir-timesऔर --no-permsक्योंकि यह उपयोगी लगता है, और मुझे लगता है कि इस बारे में अंत में एक त्रुटि हो रही याद है।
--ignore-existingसभी फ़ाइलों को सिंक करने की कोशिश करता है। मुझे आपका --size-onlyसुझाव पसंद आया । मैं इसके बजाय अगली बार कोशिश करूँगा।
~/Videos/ ./
मुझे यह समाधान मिला:
होस्ट "android" के लिए डिफ़ॉल्ट पोर्ट को बदलने के लिए, स्थानीय ssh-config संपादित करें
.ssh/config
host android
Port 2222
rsync -rvlc संगीत Android: SDCardLink /
अपडेट करें
मैं prefere -rvlcकरने -aके बाद आपको अनुमति और समय टिकटों काम नहीं करता है की स्थापना के बाद से चेतावनी का एक बहुत मिलता है। विकल्प -cदूसरे सिंक को बहुत तेज बनाता है।
मैं prefere -rvl --size-onlyकरने -aके बाद आपको अनुमति और समय टिकटों काम नहीं करता है की स्थापना के बाद से चेतावनी का एक बहुत मिलता है। विकल्प --size-onlyदूसरे सिंक को बहुत तेज बनाता है।
नई फ़ाइलों को देखने के लिए दुर्भाग्य से संगीत ऐप्स के लिए कुछ समय चाहिए। डिवाइस को पुनरारंभ करने से मदद मिलती है।
rsync -avz -e 'ssh -p 2222' Music android:SDCardLink/( stackoverflow.com/a/4630407/399105 )
--size-onlyसबसे तेज समाधान होगा। हालाँकि यह इतना नहीं बचा है-c
192.168.1.5जो हर बार अलग हो सकता है:rsync -avzhP --inplace --info=progress2 -e 'ssh -p 2222' 192.168.1.5:/storage/emulated/0/DCIM/Camera/ /home/username/path/to/pics/
एंड्रॉइड के लिए rsync बैकअप को रिवर्स में सिंक करने के लिए कॉन्फ़िगर किया जा सकता है, जो कि लिनक्स होस्ट से एंड्रॉइड डिवाइस तक है।
और LlamaLab ऑटोमैटिक की मदद से एंड्रॉइड डिवाइस को विशिष्ट स्थितियों पर स्वचालित रूप से rsync पर कॉन्फ़िगर कर सकते हैं, जैसे: