В этом ответе используются биты других ответов, но, надеюсь, это будет немного яснее в зависимости от обстоятельств. Вы никогда не указывали, что вы использовали rsyncing - одну запись каталога или несколько файлов.
Итак, давайте предположим, что вы перемещаете исходную запись каталога, а не просто перемещаете содержащиеся в ней файлы.
Допустим, у вас есть каталог, локально называемый data/myappdata/
, и под ним есть множество подкаталогов.
У вас есть data/
на вашей целевой машине, но нет data/myappdata/
- это достаточно просто:
rsync -rvv /path/to/data/myappdata/ user@host:/remote/path/to/data/myappdata
Вы даже можете использовать другое имя для удаленного каталога:
rsync -rvv --recursive /path/to/data/myappdata user@host:/remote/path/to/data/newdirname
Если вы просто перемещаете некоторые файлы и не перемещаете запись каталога, в которой они содержатся, вы должны сделать:
rsync -rvv /path/to/data/myappdata/*.txt user@host:/remote/path/to/data/myappdata/
и он создаст каталог myappdata
для вас на удаленном компьютере, в который будут помещаться ваши файлы. Опять же, каталог data/
должен существовать на удаленном компьютере.
Между прочим, я использую флаг -rvv
для получения вдвойне подробного вывода, чтобы было понятно, что он делает, а также необходимое рекурсивное поведение.
Просто чтобы показать вам, что я получаю при использовании rsync (3.0.9 в Ubuntu 12.04)
$ rsync -rvv *.txt user@remote.machine:/tmp/newdir/
opening connection using: ssh -l user remote.machine rsync --server -vvre.iLsf . /tmp/newdir/
user@remote.machine's password:
sending incremental file list
created directory /tmp/newdir
delta-transmission enabled
bar.txt
foo.txt
total: matches=0 hash_hits=0 false_alarms=0 data=0
Надеюсь, это немного прояснит.