Eva*_*oll 62
这比大家说的要容易,首先请注意,当 GVFS 挂载 MTP 挂载时,它将在下面可用。您可以通过在图形文件浏览器 (thunar/nautilus/etc) 中打开手机来强制执行此操作
/run/user/$UID/gvfs
Run Code Online (Sandbox Code Playgroud)
进去。假设您有一台 mtp 设备,这应该可以工作:
$ cd /run/user/$UID/gvfs/mtp*
Run Code Online (Sandbox Code Playgroud)
找到你想要传输文件的位置,然后将它们同步到它
$ 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/ ./
Run Code Online (Sandbox Code Playgroud)
--inplace:我强烈建议使用--inplace没有哪个 mtp 可能想要将文件复制一个新的,然后将其重命名为旧的。这可能会导致将文件复制到 SD 卡两次:一次是为了 mtp 传输到 SD 卡,另一次是因为 MTP 驱动程序可能不支持 (mv),为了安全起见,它可能 (cp/rm) 在引擎盖下.--verbose,--progress,--recursive但他们非常自我说明。--omit-dir-times --no-perms 是必需的,因为 mtp 不支持。gue*_*tli 44
I found this solution:
Edit local ssh-config, to alter the default port for host "android"
.ssh/config
host android
Port 2222
Run Code Online (Sandbox Code Playgroud)
rsync -rvlc 音乐 android:SDCardLink/
更新
我-rvlc更-a喜欢因为设置权限和时间戳不起作用,所以你会收到很多警告。该选项-c使第二次同步更快。
我-rvl --size-only更-a喜欢因为设置权限和时间戳不起作用,所以你会收到很多警告。该选项--size-only使第二次同步更快。
不幸的是,音乐应用程序需要一些时间才能看到新文件。重新启动设备有帮助。
小智 5
以上都没有达到我想要的效果。特别是OP问题的一部分:如何将rsync音乐传输到我的Android手机上?好吧,我从这些答案中汲取了部分建议,并编写了自己的 Bash 脚本:
#!/bin/bash
echo "Starting rsync with Android."
src_dir="/home/joshua/Music"
dst_dir="/run/user/$UID/gvfs/mtp:host=OnePlus_HD1925_SERIAL/Internal shared storage"
rsync --progress \
--human-readable \
--omit-dir-times \
--no-perms \
--recursive \
--inplace \
--size-only \
--exclude='*.jpg' \
--exclude='*.JPG' \
--exclude='*.jpeg' \
--exclude='*.JPEG' \
--exclude='*.png' \
--exclude='*.bmp' \
--exclude='*.txt' \
--exclude='*.pdf' \
--delete \
"$src_dir" "$dst_dir"
echo "rsync operation is done. Enjoy the music :)"
Run Code Online (Sandbox Code Playgroud)
我只是把它放在~/.local/bin我有其他脚本的地方(你的系统的默认值PATH实际上应该已经有这个目录)。您只需确保文件传输已打开并且存储在运行之前已实际安装。如果你不这样做,也不会发生什么不好的事情:rsync只会对你大喊大叫。
这个脚本:
size-only另外,如果您因为喜欢标签而专门选择此答案--exclude,那么如果手机已经同步了一大堆不需要的图像,您可能还需要一种方法来清理手机:
# Remove all *.jpg and *.JPG from the current directory, recursively.
find . -iname *.jpg -exec rm {} \;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
60615 次 |
| 最近记录: |