Задать вопрос
@pqgg7nwkd4

Как переопределить один из папок при использовании rsync?

Есть такая структура файлов:
front/
front/1.txt

back/
back/scripts/
back/.../
back/front/
back/front/2.txt


Необходимо выполнить rsync на сервер так, чтобы там получилось так:
scripts/
.../
front/
front/1.txt

Т.е. вместо папки back/front/ использовалась папка front/.
Папки переименовывать нельзя.

Из-за того что папки front называются одинаково и должны находиться в корне никак не получается подобрать параметры rsync. Такая команда синхронизирует обе папки front, что не нужно:
rsync \
--archive \
--delete --delete-excluded --delete-after --ignore-errors --force \
--compress \
--partial -i \
-e "ssh" \
/path/to/back/ \
/path/to/front \
xxx@remote.ru:/path/to/back/


Как быть?

Я думаю можно как-то вместо /path/to/back/ написать вставку, которая перечислит там все вложенные папки и файлы, кроме front/, но знаний по башу и линуксу не хватает.
  • Вопрос задан
  • 62 просмотра
Подписаться 1 Простой 1 комментарий
Решения вопроса 1
@pqgg7nwkd4 Автор вопроса
Сделал примерно так:
rsync \
--archive \
--delete --delete-excluded --delete-after --ignore-errors --force \
--compress \
--partial -i \
-e "ssh" \
`find /path/to/back/ -maxdepth 1 -mindepth 1 | grep -v /front` \
/path/to/front \
xxx@remote.ru:/path/to/back/

Работает как надо
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
ky0
@ky0
Миллиардер, филантроп, патологический лгун
Синхронизировать несколькими частями, сначала с совпадающей структурой каталогов, потом с отличающейся? Если я вас правильно понял, конечно...
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы