如何rsync到android

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

使用sshelper

我找到了这个解决方案

  • 在设备上安装sshelper (无需root设备,可从google play market获得)
  • 在我的WLAN中,该设备被称为“android”。 但是如果你不能给设备一个主机名,你可以使用IP。

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

.ssh/config host android Port 2222 
  • 在设备上启动sshelper。
  • 将Android设备连接到WLAN。

rsync -rvlc音乐android:SDCardLink /

更新-rvlc-a因为你设置权限和时间戳不起作用,因为你收到很多警告。 选项-c使第二次同步更快。

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

实际上在MTP / usb上使用rsync

这比每个人都说的容易,首先注意到当GVFS安装MTP挂载时,它将在下面提供。 您可以通过在图形文件浏览器(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 , – --progress但它们非常自我记录。
  • --omit-dir-times --no-perms是必需的,因为mtp不支持它。

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

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

  1. 早上5点,
  2. 当手机连接到特定的Wi-Fi时,和
  3. 什么时候充电