Làm cách nào tôi có thể kết nối với thiết bị Android của mình với nhạc rsync (hoặc các nội dung khác)?
Làm cách nào tôi có thể kết nối với thiết bị Android của mình với nhạc rsync (hoặc các nội dung khác)?
Câu trả lời:
Thật dễ dàng hơn mọi người đang nói, trước tiên hãy lưu ý rằng khi GVFS gắn kết MTP, nó sẽ có sẵn. Bạn có thể buộc điều này bằng cách mở điện thoại lên trong trình duyệt tệp đồ họa (thunar / nautilus / etc)
/run/user/$UID/gvfs
đi vào đó Giả sử bạn có một thiết bị mtp, điều này sẽ hoạt động:
$ cd /run/user/$UID/gvfs/mtp*
Tìm nơi bạn muốn chuyển các tệp quá, và sau đó rsync chúng vào nó
$ 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
: Tôi đánh giá cao đề nghị sử dụng --inplace
mà không có MTP có thể muốn sao chép các tập tin mới, và sau đó đổi tên nó thành cái cũ. Điều đó có thể dẫn đến việc sao chép tệp vào thẻ SD hai lần: một lần để chuyển mtp sang thẻ SD và lần khác vì trình điều khiển MTP có thể không hỗ trợ (mv), nên có thể (cp / rm) dưới mui xe được an toàn .--verbose
, --progress
, --recursive
nhưng họ đang khá tự tài liệu.--omit-dir-times
--no-perms
được yêu cầu vì mtp không hỗ trợ điều đó.--omit-dir-times --no-perms --ignore-existing
. Rsync không đặt dấu thời gian thư mục trên MTP. Tôi khá chắc chắn rằng "không có quyền" là mặc định, nhưng tôi muốn chỉ định nó. Bỏ qua các tập tin hiện có cho phép nó chọn nơi nó rời đi.
--ignore-existing
? Đó chỉ là mất đi sự dư thừa. Bạn luôn có thể --size-only
làm giảm đồng bộ hóa vào danh sách thư mục và không kiểm tra tổng. Tôi sẽ thêm --omit-dir-times
và --no-perms
bởi vì điều đó nghe có vẻ hữu ích và dường như tôi nhớ lại việc nhận được một lỗi ở cuối về điều đó.
--ignore-existing
cố gắng đồng bộ hóa tất cả các tệp. Tôi thích --size-only
đề nghị của bạn . Thay vào đó tôi sẽ thử điều đó vào lần tới.
~/Videos/ ./
Tôi tìm thấy giải pháp này:
Chỉnh sửa ssh-config cục bộ, để thay đổi cổng mặc định cho máy chủ "android"
.ssh/config
host android
Port 2222
rsync -rvlc Âm nhạc android: SDCardLink /
Cập nhật
Tôi biết -rvlc
trước -a
vì bạn nhận được rất nhiều cảnh báo vì việc đặt quyền và tem thời gian không hoạt động. Tùy chọn -c
làm cho đồng bộ thứ hai nhanh hơn nhiều.
Tôi biết -rvl --size-only
trước -a
vì bạn nhận được rất nhiều cảnh báo vì việc đặt quyền và tem thời gian không hoạt động. Tùy chọn --size-only
làm cho đồng bộ thứ hai nhanh hơn nhiều.
Thật không may, nó cần một chút thời gian để các ứng dụng âm nhạc nhìn thấy các tập tin mới. Khởi động lại thiết bị giúp.
rsync -avz -e 'ssh -p 2222' Music android:SDCardLink/
( stackoverflow.com/a/4630407/399105 )
--size-only
sẽ là giải pháp nhanh nhất. Tuy nhiên, nó không quá tiết kiệm như-c
192.168.1.5
có thể khác nhau mọi lúc:rsync -avzhP --inplace --info=progress2 -e 'ssh -p 2222' 192.168.1.5:/storage/emulated/0/DCIM/Camera/ /home/username/path/to/pics/
Sao lưu rsync cho Android có thể được cấu hình để đồng bộ hóa ngược lại, đó là từ máy chủ Linux sang thiết bị Android.
Và với sự trợ giúp từ LlamaLab Automate, người ta có thể định cấu hình thiết bị Android thành rsync tự động trong các điều kiện cụ thể, ví dụ: