当前位置: 首页>>技术问答>>正文


如何rsync到android

, ,

问题描述

如何连接到我的Android设备以rsync音乐(或其他东西)?

最佳解决思路

实际上在MTP /usb上使用rsync

这比每个人都说的容易,首先注意到当GVFS安装MTP挂载时,它将在下面可用。您可以通过在图形file-browser(thunar /nautilus /etc)中打开手机来强制执行此操作

/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/ ./

Rsync选项

  • --inplace:我强烈建议使用--inplace,否则mtp可能希望将文件复制为新文件,然后将其重命名为旧文件。这可能导致将文件复制到SD卡两次:一次用于mtp传输到SD卡,另一次因为MTP驱动程序可能不支持(mv),它可能(cp /rm)在引擎盖下是安全的。

  • 阅读man rsync以获得--verbose--progress--recursive的描述,但它们非常像self-documenting。

  • --omit-dir-times --no-perms是必需的,因为mtp不支持它。

次佳解决思路

使用sshelper

我找到了这个解决方案

  • 在设备上安装sshelper(无需root设备,可从google play market获得)

  • 在我的WLAN中,该设备称为”android”。但是,如果您无法为设备提供主机名,则可以使用IP。

编辑本地ssh-config,以更改主机”android”的默认端口

.ssh/config
host android
    Port 2222
  • 在设备上启动sshelper。

  • 将Android设备连接到WLAN。

rsync -rvlc Music android:SDCardLink/

更新我优先选择-rvlc-a,因为自设置权限和time-stamps不起作用后会收到很多警告。选项-c使第二次同步更快。

不幸的是,音乐应用需要一些时间来查看新文件。重启设备有帮助。

第三种解决思路

rsync backup for Android可以配置为反向同步,即从Linux主机到Android设备。

Llama的帮助下,可以在特定条件下自动将Android设备配置为rsync,例如:

  1. 早上5点,

  2. 当手机连接到特定的Wi-Fi时,和

  3. 什么时候充电

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/3011.html,未经允许,请勿转载。