Недавно столкнулся с заданием по миграции файловой шары для команд. Нужно было поднять новую шару и перенести все данные. Задумался, как сохранить права к директориям и файлам, чтоб на новом сервере у пользователей не было проблем при подключении и доступах к файлам.
После немногих раздумий и поисков, решение было найденo, будем использовать tar.
Для перемещения файлов с сохранением прав нужно:
– Заархивировать в архив файлы и директории.
– Перенести архив на новый сервер.
– Распаковать в необходимо директорию.
Используем следующую команду для создания архива:
tar cvpzf YOUR_ARCHIVE_NAME.tar.gz .
где:
-с: –create создать новый архив.
-v: –verbose печатать вывод о выполнении.
-p: –preserve-permissions, –same-permissions получаем информацию о правах.
-z: –gzip, –gunzip –ungzip.
-f: –file ARCHIVE использовать файл для архива.
Далее нужно архив переместить на новый сервер, после поместить в директорию где хотим распаковать, и разархивировать используя следующую команду:
tar xpvzf YOUR_ARCHIVE_NAME.tar.gz
где:
-z: –extract, –get распаковать файлы с архива.
-с: –create создать новый архив.
-v: –verbose печатать вывод о выполнении.
-p: –preserve-permissions, –same-permissions получаем информацию о правах.
-z: –gzip, –gunzip –ungzip.
-f: –file ARCHIVE использовать файл для архива.
В процессе распаковки tar воссоздает архивированную структуру папок с нетронутыми и не поврежденными правами.