Как переписать каталог в новый каталог с другим именем?

Я делаю передачу данных, старая файловая система опирается на каталог, который теперь находится на другом пути. Это каталог git, в котором хранится код в Интернете. У меня нет прав переместить его или переименовать.

Так что я могу сделать, это rsync этот каталог на тот же старый путь. Но имя каталога также изменилось.

  • Как использовать rsync для резервного копирования каталога без подкаталога git
  • Использование inotifywait вместе с vim
  • Инкрементный файл резервной копии по дате
  • RSync - Permission denied (13) при выполнении rsync в качестве корня
  • Резервное копирование Windows-ПК на Linux-машину
  • Ускорить / избежать вычисления списков файлов rsync
  • Есть ли простой способ, которым я могу rsync каталог в целевой каталог с другим именем?

  • Ошибка rsync: значение времени файла, усеченного на приемнике
  • Как мне восстановить / var / cache?
  • Я не могу получить rsync -exclude-from для работы с файлом
  • как заставить rsync связывать идентичные файлы с параметром -link-dest, если старый файл уже существует?
  • Не запрашивать пароль при использовании rsync удаленно?
  • Скопируйте вложенную структуру каталогов, игнорируя все каталоги определенного имени
  • 3 Solutions collect form web for “Как переписать каталог в новый каталог с другим именем?”

    Если вы хотите использовать rsync для рекурсивно сделать каталог dest точной копией каталога src :

     rsync -a src/ dest 

    На странице rsync объясняется, как это работает:

    Конечная косая черта на источнике […] не позволяет [s] создать дополнительный уровень каталога в пункте назначения. Вы можете думать о конце / в источнике как о значении «скопировать содержимое этого каталога» в отличие от «скопировать каталог по имени» […]

    Сейчас я нахожу альтернативное решение.

    Использование rysnc -r /origin/* /target/ может синхронизировать все содержимое из каталога происхождения в целевой каталог.

    Если старые и новые файловые системы доступны для вашего компьютера, рассмотрите возможность использования символической ссылки вместо rsync. Если ваша команда rsync, которую вы используете, не указывает хосты (или если они являются одним и тем же хостом), то это так. Вы пытаетесь зеркально отобразить два каталога с другим именем на одном хосте. Не используйте rsync для этого, поскольку вы дублируете данные, и вам придется часто запускать ваш rsync, чтобы синхронизировать их.

    Использование символической ссылки – это одноразовое исправление, которое будет отображать два каталога (с разными именами) и требует почти свободного места. Это похоже на создание каталога псевдонимов, указывающего на другой каталог.

    Допустим, у вас был старый git в каталоге / old / path / old_git, и теперь репозиторий кода переместился в / new / path / new_git

    Ты можешь сделать:

     cd /old/path rm -rf old_git (if you still have it there, get rid of it, or move it out of the way) ln -s /new/path/new_git old_git 

    Это создаст ссылку как таковую:

    / old / путь / old_git -> / новый / путь / новый_git

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

    Linux и Unix - лучшая ОС в мире.