一个简单的要求却让我伤透了脑筋!
我想让计算机上的文件夹与 Android 设备上的文件夹保持同步。有时计算机上的文件是“新”的,有时 Android 设备上的文件也是“新”的。
两个设备都连接到同一个 wifi 网络。我该怎么做?
这是我已经尝试过的。
- Syncthing - 结果好坏参半。有时同步。有时不同步。不可靠。所以无法使用
- 通过 KDE Connect 连接 Android 设备。尝试使用 Unison 同步两个文件夹。失败并显示错误:
f1.txt — 传输失败 • 将 /home/user/.config/kdeconnect/99899/kdeconnect_sftp/99899/storage/emulated/0/sync-dir/.unison.f1.txt.01a8d60d253c276456cc2d6db4c37c9b.unison.tmp 重命名为 /home/user/.config/kdeconnect/99899/kdeconnect_sftp/99899/storage/emulated/0/sync-dir/f1.txt 时出错:操作不允许[重命名(/home/user/.config/kdeconnect/99899/kdeconnect_sftp/99899/storage/emulated/0/sync-dir/.unison.f1.txt.01a8d60d253c276456cc2d6db4c37c9b.unison.tmp)]
答案1
我通过以下步骤解决了类似的问题。
Android 设备操作步骤:
- 打开Wi-Fi;
- 安装 SSH 服务器 -简单SSHD;
- 启动 SimpleSSHD 服务器。
计算机步骤(我的笔记本电脑运行的是 Ubuntu 16.04.5 LTS MATE):
- 打开Wi-Fi(与Android在同一网络中);
通过运行启用基于密钥的 SSH 身份验证(其中 11.22.33.44 是 Android 设备的 IP 地址),然后在 SimpleSSHD 窗口中输入 Android 设备屏幕上显示的密码。
scp -P 2222 /home/$USER/.ssh/id_rsa.pub [email protected]:/data/data/org.galexander.sshd/files/authorized_keys
使用以下方式安装 SSH FS
sudo apt-get install sshfs
;- 创建 SSH FS 挂载点(/媒体/MyAndroid就我而言);
- 安装免费文件同步并创建同步作业/媒体/MyAndroid和本地文件夹;
- 使用以下方式安装 Android 设备(其中
sshfs [email protected]:/storage/sdcard1 -p 2222 /media/MyAndroid/
/存储/sdcard1为需要挂载的文件夹,2222为SSH服务器端口),根据提示输入SSH密码; - 在需要同步Android设备和本地文件夹时启动FreeFileSync作业;
- 使用
sudo umount /media/MyAndroid
或卸载 SSH FS 挂载fusermount -u /media/MyAndroid
(然后就可以在 Android 设备上停止 SimpleSSHD)。
第一次看上去很难,但效果很好。
您可以尝试使用 RealTimeSync 自动执行此操作(我没有尝试过,我每周手动同步两次)。
笔记:如果你想同步外部 SD 卡(普通专用 microSD),你需要获得 root 权限并安装SD 卡修复(在我的 Android KitKat 4.4.4 设备上测试)。