让 rysnc 和 scp 在 Mac OSX 上正常运行

让 rysnc 和 scp 在 Mac OSX 上正常运行

我正在寻求使用 rsync 将一台 OS X 机器上的 Virtual Box 使用的加密卷备份到另一台机器(我最终会将其放入 cron 中)。

这是命令行(我正在共享公钥,因此不需要密码) - 其中一些细节被隐藏:

    rsync --bwlimit=100 -av -e "scp -P [port numb] user@address:~/VirtualBox\ VMs/ubuntu1/*" ./ubuntu1/.

但是它不会复制任何东西,只是反复给我这个,即没有完成复制 - 尽管 ubuntu1.vdi 日期戳和大小现在已经改变:

    building file list ... done 
    drwxr-xr-x         170 2012/10/04 19:06:15 .
    -rw-------        7265 2012/10/05 10:00:21 ubuntu1.vbox
    -rw-------        7265 2012/10/05 10:00:21 ubuntu1.vbox-prev
    -rw-------  7881625600 2012/10/05 10:53:23 ubuntu1.vdi

    sent 132 bytes  received 20 bytes  304.00 bytes/sec total size is 7881640130
    speedup is 51852895.59

如何让它正常工作?

答案1

rsync --bwlimit=100 -av -e "ssh -p[端口号]" 用户@地址:"~/VirtualBox\ VMs/ubuntu1/" ./ubuntu1

不要在 rsync 命令中使用 scp。它不会帮你走多远。另外,请考虑使用完整路径,而不是 ~。它并不总是能正确转换。

答案2

在 -e 中不需要写比“ssh -P 1234”更多的内容

 rsync --bwlimit=100 -av -e "scp -P [port numb]" \
    user@address:~/VirtualBox\ VMs/ubuntu1/* \
    ./ubuntu1/.

应该管用

答案3

这有效:

    rsync --bwlimit=100 -av -e "ssh -p [port]" "user@address:~/VirtualBox\ VMs/ubuntu1/*" ./ubuntu1/.

感谢以上评论,但事实证明,我只需包含 ssh 命令的说法是错误的,因为奇怪的路径会中断传输。

相关内容