LINUX.ORG.RU

В пути к источнику просто в конце допиши еще один слеш:/.

anti_win ★★
()

Например:

rsunc -arh ~/blabla/ /run/media/mydata/blabla

Эта команда скопирует содержимое каталога blabla, находящегося в домашней папке, в каталог /run/media/mydata/blabla.

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

да ваша команда работает. но в манах я не нашел что значит -af
просто -a это архивирование данных

а как бы добавить это исключение по файлам в корне в эту команду
rsync -r --update --delete --progress --exclude='.*' ./1/ ./2

а то у меня ошибку выдает при попытках куски вашей команды добавить

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

Сначала объясни, что ты хочешь сделать.

-f, --filter=RULE
              This  option  allows  you  to  add rules to selectively exclude certain files from the list of files to be
              transferred. This is most useful in combination with a recursive transfer.

              You may use as many --filter options on the command line as you like to build up the list of files to  ex‐
              clude.   If  the filter contains whitespace, be sure to quote it so that the shell gives the rule to rsync
              as a single argument.  The text below also mentions that you can use an underscore to  replace  the  space
              that separates a rule from its arg.

              See the ****FILTER RULES**** section for detailed information on this option.
knd
()
Ответ на: комментарий от knd

в папке 1
1файлы обычные
2скрытые файлы
3Папки с файлами

надо чтоб синхронизировал rzync в папку 2
из папки 1 - 3Папки с файлами и игнорил файлы в корне 1 обычные файлы и скрытые файлы

у меня макс что получилось:
rsync -r --update --delete --progress --exclude='.*' ./1 ./2


если так rsync -r --exclude='.*' -af «+ */» -f "- *" --update --delete --progress ./1 ./2
то папки копируются а файлы в них нет

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

если так rsync -r –exclude=‘.*’ -af «+ */» -f «- *» –update –delete –progress ./1 ./2 топапки копируются а файлы в них нет

Конечно, потому что твой первоначальный вопрос был

rsync как не копировать файлы в корне, а только папки? то есть есть папка с файлами и папками и надо чтобы rsync копировал только папки из нее.

И ко второму вопросу он имеет отдаленное отношение.

Для того, чтобы просто игнорировать все файлы в корне, но перенести все директории и файлы в них, нужно

rsync -a --include="/*/" --include="*/*" --exclude="*"
knd
()
Последнее исправление: knd (всего исправлений: 1)
Ответ на: комментарий от knd

да я не полностью выразился в первом посте с вопросом

rsync -a --include='/*/' --include='*/*' --exclude='*' ./1 ./2
так не работает

Talnah
() автор топика
Ответ на: комментарий от Talnah
testdir0
├── 1.txt
├── 2.txt
├── 3.txt
├── dir1
│   ├── 7.txt
│   └── 8.txt
└── dir2
    ├── 7.txt
    └── 8.txt
testdir1

rsync -a --include='/*/' --include='*/*' --exclude='*' testdir0/ testdir1/

testdir1/
├── dir1
│   ├── 7.txt
│   └── 8.txt
└── dir2
    ├── 7.txt
    └── 8.txt
knd
()
Ответ на: комментарий от Talnah

1 еще вопрос, а как сделать чтоб он скрытые папки не синхронизировал?

rsync -a --include='/*/' --include='*/*' --exclude='*' testdir0/ testdir1/

пробовал добовлять --exclude='.*' непомогает


2 cannot delete non-empty directory:
это изза префикса --delete
почему не может удалить?

Talnah
() автор топика
Последнее исправление: Talnah (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.