Назад | Перейти на главную страницу

Получение копии Linux для обработки сбойных ссылок

Я только начал использовать изящный rsnapshot утилита для резервного копирования на наш NAS. Мне очень нравится этот инструмент (который использует rsync и связывает неизмененные файлы, чтобы уменьшить размер резервной копии), но у меня возникают проблемы с копированием определенных ссылок, например:

sudo /bin/cp -al /NAS/Backups/rsnapshot/hourly.0 /NAS/Backups/rsnapshot/hourly.1
/bin/cp: cannot create link `/NAS/Backups/rsnapshot/hourly.1/hourly.0/percival/home/stuffs/Workspaces/AppscioWork/MPF.bad/mpf-core/gtk-doc.make': No such file or directory

Я не уверен, что здесь происходит, поскольку исходный файл существует и имеет разрешения на чтение:

ls -l /NAS/Backups/rsnapshot/hourly.0/percival/home/stuffs/Workspaces/AppscioWork/MPF.bad/mpf-core/m4/gtk-doc.m4
lrwxrwxrwx. 1 nobody nobody 29 2009-12-30 22:38 /NAS/Backups/rsnapshot/hourly.0/percival/home/stuffs/Workspaces/AppscioWork/MPF.bad/mpf-core/m4/gtk-doc.m4 -> /usr/share/aclocal/gtk-doc.m4

ls -l /usr/share/aclocal/gtk-doc.m4
-rw-r--r--. 1 root root 1324 2009-02-24 17:50 /usr/share/aclocal/gtk-doc.m4

Есть ли способ исправить эту ошибку или заставить команду cp игнорировать ошибку и продолжать работу?

Проблема не в разрешении, иначе вы получите сообщение «Permission denied».

В -l опция говорит cp использовать ссылки вместо фактического копирования файла. Я считаю, что он использует жесткие ссылки, поэтому вам может не повезти, потому что жесткие ссылки не могут пересекать файловые системы (например, ссылка от одной точки монтирования к другой точке монтирования).

Попробуйте запустить команду без -l чтобы увидеть, устраняет ли это ошибку.