LINUX.ORG.RU

Копирование отдельных фалов с помощью rsync с опцией --include-from

 


0

1

Допустим копирую 4 файла с host1 на host2. Имена файлов записаны столбиком в файде files.list. Даю команду:

rsync -r -v --include-from=files.list . user@host:/home/user/dir
Вместо нужных четырёх файлов копируется весь текущий каталог. ЧЯДНТ?

★★★★★

ЧЯДНТ?

Постоянно лезешь к серверам, не научившись даже читать сраные маны (не говоря уж про думать).

thesis ★★★★★
()

ЧЯДНТ?

Всё. Ты указываешь текущий каталог (точка) для копирования, ключем -r говоришь делать это рекурсивно, и дополнить это все из файла files.list.

Должно быт как-то так:

rsync -a --files-from=files.list user@host:/home/user/dir

Deleted
()
Ответ на: комментарий от Deleted

Ну так зачем ты помогаешь макаке, которая уже почти десять лет (!) работает исключительно как копипастер ЛОР->консоль?
Она ж так никогда не сдохнет.

thesis ★★★★★
()
Ответ на: комментарий от Deleted

Должно быт как-то так:

rsync -a --files-from=files.list user@host:/home/user/dir

Не взлетит, источник отсутствует.

sunny1983 ★★★★★
() автор топика
Ответ на: комментарий от Deleted

Еще раз: за 9 лет наблюдений не начала.

thesis ★★★★★
()
Ответ на: комментарий от sunny1983

Почитай man или погугли, как работает --files-from, и что нужно добавить в эту команду, чтобы она работала.

Deleted
()
Ответ на: комментарий от Deleted

А что там читать. Вот русский перевод https://www.opennet.ru/man.shtml?topic=rsync&russian=3

--exclude=PATTERN исключить файлы, соответствующие шаблону PATTERN
--exclude-from=FILE шаблоны исключения брать из файла FILE
--include=PATTERN не исключать файлы по шаблону PATTERN
--include-from=FILE не исключать файлы по шаблонам в файле FILE

Ну я сначала решил исключить все файлы по маске *, чтобы весь каталог не копировался, потом нужные мне файлы исключить из исключения, то есть:

rsync -r -v --exclude=* --include-from=files.list . user@host:/home/user/dir
У меня ничего не скопировалось.
Потом убрал --exclude, хотя мне это показалось нелогичным - получилось то что и ожидалось - стал копироваться весь каталог.
Точку убирать нельзя, так как источник обязателен, я уже пробовал это. -a не нужно, так как эквивалентно набору опций -rlptgoD, из которых мне только -r актуально.
Вот и все рассуждения. Короче получается то, что ничего не получается.

sunny1983 ★★★★★
() автор топика
Последнее исправление: sunny1983 (всего исправлений: 3)

И чо, умники в треде закончились?

sunny1983 ★★★★★
() автор топика
Ответ на: комментарий от sunny1983

Если у тебя в files.list пути от текущей дериктории, то:

rsync --files-from=files.list . user@host:/home/user/dir
Если полные пути то:
rsync --files-from=files.list / user@host:/home/user/dir

Deleted
()
Ответ на: комментарий от sunny1983

Вот русский перевод
--include=PATTERN не исключать файлы по шаблону PATTERN
--include-from=FILE не исключать файлы по шаблонам в файле FILE

А вот нерусский оригинал:

--include-from=FILE read include patterns from FILE
--files-from=FILE read list of source-file names from FILE

Это чо, правда штоле, что ты в консоль уже девять лет тыкаешься? Родители, наверное, алкоголики?

anonymous
()

Господа, вы видимо, с наступлением жары, много пива пить стали, от того и сердитые такие по утрам. Вот так трудно было сказать с самого начала русским языком, что опция -r лишняя? Да, я на самом деле в линуксе 9 лет, за это время неплохо продвинулся и сейчас намного квалифицированнее моих коллег. А rsync между прочем никто из моих коллег не использует.

sunny1983 ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.