LINUX.ORG.RU
решено ФорумAdmin

Rsync. Можно ли создать дерево каталогов при копировании файла на сервер?

 


0

1

Можно ли создать дерево каталогов при копировании файла на сервер используя rsync?

Например, я имею файл глубине иерархии и хочу перенеси его на сервер, сохранив структуру.

ssh mysuper@server.ru:/home/ 'ls -l'
home 
rsync    /home/p/d/d/dir/video.mp4    mysuper@server.ru:/home/d/d/dir/video.mp4
ssh mysuper@server.ru:/home/ 'ls -l'
home
d

Ответ на: комментарий от SaintAnd

Не перепутай

--recursive, -r
              This tells rsync to copy directories recursively.  See also --dirs (-d) for an option that allows the scanning of a single directory.

и

--relative, -R
              Use relative paths.  This means that the full path names specified on the command line are sent to the server rather than just the last parts of the
              filenames.   This  is  particularly useful when you want to send several different directories at the same time.  For example, if you used this com‐
              mand:

Одно копирует директории с сохранением структуры, другое сохраняет полный путь из источника.

И помни про это

--archive, -a
              This  is  equivalent to -rlptgoD.  It is a quick way of saying you want recursion and want to preserve almost everything.  Be aware that it does not
              include preserving ACLs (-A), xattrs (-X), atimes (-U), crtimes (-N), nor the finding and preserving of hardlinks (-H).

              The only exception to the above equivalence is when --files-from is specified, in which case -r is not implied.
targitaj ★★★★★
()
Последнее исправление: targitaj (всего исправлений: 1)
Ответ на: комментарий от targitaj

Да, именно с -r, как я думал, должно было работать для моего скрипта.

Оказалось, что именно -R был нужен, т.к. цель - копировать одну ветку сайта с полным путём к файлу и вставлять эту ветку в указанный каталог.

Так что параметр -r оказался для меня бесполезен и я его первым делом проверять стал.

Спасибо за участие!

SaintAnd
() автор топика