मैं अपने एंड्रॉइड डिवाइस को 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 पर कॉन्फ़िगर कर सकते हैं, जैसे: