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

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

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

Есть ли простой способ, которым я могу rsync каталог в целевой каталог с другим именем?

  • Ошибка Rsync 23: некоторые файлы не были переданы при копировании файлов с диска Windows на внешний жесткий диск
  • Поведение Rsync с измененными файлами
  • rsync самые последние x GB
  • Почему мой rsync медленный?
  • Определите дополнительный размер перед `rsync`
  • Может ли rsync копировать файлы без данных?
  • легкое решение для резервного копирования на основе диска
  • Как использовать rsync для резервного копирования каталога без подкаталога git
  • 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, будет мгновенно доступно и по-старому, без дублирования данных и без необходимости постоянно синхронизировать их.

    Interesting Posts

    Разрешить постоянным пользователям SSH использовать закрытый ключ, который они не могут прочитать.

    Резервное копирование в Linux с возобновлением поддерживает только последнюю версию

    Система зависает иногда после возобновления с приостановки

    Конфигурация PATH не влияет

    Создание отчета об использовании ресурса отчета для дочерних процессов

    Является ли массив хранения ZFS переносимым для всех операционных систем и архитектур процессоров?

    Установка Debian на USB

    Установка драйвера внешнего дерева в Qubes OS NetVM

    Узнайте, что вызывает случайные перезагрузки, если / var / log / syslog пуст

    Рабочий стол внезапно перестает реагировать на мышь (перемещение / фокусировка / щелканье элементов пользовательского интерфейса)

    Cisco AnyConnect для Fedora

    Как получить адрес подключенного USB-модема?

    Не удается установить lsb-core на Ubuntu Server 11.10

    uname показывает дублируемую архитектуру

    Каков предел количества потоков?

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