Rsync 可以用于以编程方式将文件从 Android 客户端传输到 Linux 服务器吗?

Chi*_*eep 2 rsync android client-server file-upload

我想通过 rsync 将 abc.txt 文件从 Android 客户端传输到服务器。不幸的是,我在 Android 开发者网站上没有找到任何相同的文档。有没有办法在非 root 设备中使用 rsync 从客户端传输数据。

将 100 MB 数据从客户端传输到服务器的最佳实践是什么?我们始终可以使用数据库并从中进行块上传。除了数据库划分和同步设计之外,是否还有可遵循的最佳实践。

Dan*_*ght 8

您是否想要通过脚本来实现此目的或从您的设备手动运行它?

手动,你可以做到。最简单、最可靠的当然是使用 rsync - 它适用于 Linux、MacOS 和 Windows。这也是备份设备的好方法:-)

以下是实现该目标的几个简单步骤:

  1. 安装Termux应用程序 ( https://f-droid.org/en/packages/com.termux/ )
  2. 打开 Termux 并通过键入以下内容安装 rsync 包:$ pkg install rsync
  3. 确保 Termux 具有存储访问权限(您可以在“应用信息”>“权限”中查看)
  4. 开始使用 rsync 从 Termux 复制文件!$ rsync -av /sdcard/[your-file] [server-ip]:/[destination]

您甚至可以使用它通过 USB 通过 rsync 将文件复制到计算机(这些是 Linux 命令,但它也应该适用于任何其他操作系统)。

  1. 激活设备上的 USB 调试并将设备通过 USB 连接到计算机
  2. 打开 Termux 并设置密码:$ passwd
  3. 启动固态硬盘:$ sshd
  4. 从您的计算机中在 shell 中输入:$ adb forward tcp:8022 tcp:8022
  5. 您现在可以从计算机运行 rsync:$ rsync -av -e 'ssh -p 8022' localhost:/sdcard/[whatever-file] /[destination]