Я хочу копировать сложную структуру каталогов с одного сервера Linux на другой удаленный сервер, запускаются в определенном подкаталоге.
Я не хочу содержание файлов, я просто хочу сохранить структуру, владельца и полномочия, поскольку сервер, который будет клонирован, содержит большой объем данных, которые не должны быть скопированы в новую машину.
Я предполагаю, что это могло быть сделано так или иначе путем определения веса тары структуры папок и неопределения веса тары ее на удаленной машине. Или при помощи rsync для копирования, не отправляя данные. Или возможно при помощи находки для создания сценария оболочки.
Если у кого-либо есть острота под рукой, которая выполняет это, я ценил бы ее.
Можно объединиться find
и cpio
входить в список подкаталогов из текущего рабочего каталога таким образом:
find . -type d -print | cpio -oO dirs.cpio
Для восстановления той иерархии каталогов на удаленной машине скопируйте по dirs.cpio
файл к желаемому местоположению и выполненный:
cpio -iI dirs.cpio
одно решение могло бы быть
find . -type d > dirs
для нахождения каталогов затем используйте тот файл с -T
опция tar
:
tar cpzT dirs -f dest_file.tar.gz
который должен создать сжатый архив (z
) сохранение полномочий (p
) путем архивации только перечисленных файлов (T dirs
). Файл передачи, распакуйте с
tar xpzf dest_file.tar.gz
и Вы должны быть сделаны.