Я пытаюсь создать резервную копию зашифрованного тома, используемого Virtual Box на одной машине с OS X, на другой с помощью rsync (в конечном итоге я добавлю это в 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

Как заставить это работать должным образом?

3 ответа3

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

Не используйте scp в команде rsync. Это не очень далеко. Также рассмотрите возможность использования полного пути, а не ~. Это не всегда переводится правильно.

1

нет необходимости писать больше внутри -e, чем "ssh -P 1234"

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

должно сработать

0

Это работает:

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

Спасибо за вышеупомянутые комментарии, но оказалось, что было неправильно утверждать, что я должен был только заключить команду ssh, потому что нечетный путь прервал бы передачу.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .