Для резервное копирование и восстановление чтобы убрать старый сервер, мне нужно будет создать идеальный зеркальное отображение общего ресурса NFS. Это зеркало не является простым перенаправлением, а скорее является точной копией содержимого общего ресурса NFS (включая права доступа к файлам).
Я пробовал простые задачи, такие как копирование файлов как root
командой:
cp -pR /path-to-nfs-share/ /local-directory-to-mirror-nfs-share-contents/
К сожалению, приведенная выше команда не копирует все файлы, так как возвращает permission denied
ошибки для некоторых файлов и каталогов, с которыми он сталкивается. Таким образом, чтобы избежать потенциальных проблем с разрешениями, я хотел создать идеальное зеркало (то есть с сохранением всех разрешений) файлов.
К сожалению, мне не удалось найти много документации по выполнению этой задачи. Это выполнимо?
Спасибо.
Вы вводили команду с помощью sudo, чтобы у вас были повышенные привилегии?
Rsync также может работать лучше для чего-то в этом роде.
Я бы не стал рассматривать это как резервную копию, поскольку это всего лишь копия. Резервные копии защищают от проблем с повреждением или удаленных файлов. Создание копий больше похоже на защиту доступности ресурсов.
Ошибки прав доступа могут быть связаны с тем, что компьютер, на котором вы были, смонтировал файловую систему NFS в качестве вашего идентификатора пользователя, а не root, что означает, что вы не видели всю файловую систему. Или, возможно, монтирования NFS специально меняют UID для разных групп.
rsync -aplxo --delete /nfsmount/ /newmountlocation/
Вероятно, это лучший способ сделать это, поскольку вы не хотите нарушать идентификаторы пользователей, и если вы столкнетесь с ситуацией, когда вам нужно остановиться, он переместит только измененные файлы. Вы можете подготовить его и запустить несколько раз и убедиться, что у вас есть полная копия перед выводом из эксплуатации.