rsnapshot / cp-al: дубликаты файлов на смонтированном общем ресурсе NFS

967
lajuette

Сценарий

Я создаю резервную копию одной из моих машин Debian wheezy через rsnapshot. Целевой каталог - это смонтированный общий ресурс NFS. Qnap NAS обслуживает этот целевой каталог.

Эта проблема

Но rsnapshot жалуется на какой-то уже существующий файл, когда пытается создать новый снимок с помощью cp -al. Не имеет значения, использую ли я gnu-cp или cp rsnapshot:

root@shuttle:~# rsnapshot -v daily echo 25852 > /var/run/rsnapshot.pid  /bin/rm -rf /mnt/backup/rsnapshot/daily.6/  mv /mnt/backup/rsnapshot/daily.5/ /mnt/backup/rsnapshot/daily.6/  mv /mnt/backup/rsnapshot/daily.4/ /mnt/backup/rsnapshot/daily.5/  mv /mnt/backup/rsnapshot/daily.3/ /mnt/backup/rsnapshot/daily.4/  mv /mnt/backup/rsnapshot/daily.2/ /mnt/backup/rsnapshot/daily.3/  mv /mnt/backup/rsnapshot/daily.1/ /mnt/backup/rsnapshot/daily.2/  native_cp_al("/mnt/backup/rsnapshot/daily.0", \ "/mnt/backup/rsnapshot/daily.1")  ---------------------------------------------------------------------------- rsnapshot encountered an error! The program was invoked with these options: /usr/bin/rsnapshot -v daily  ---------------------------------------------------------------------------- ERROR: Warning! "/mnt/backup/rsnapshot/daily.1/shuttle/etc/alternatives/Mail.1.gz" exists! ERROR: Warning! copy_symlink("/mnt/backup/rsnapshot/daily.0/shuttle/etc/alternatives/Mail.1.gz", "/mnt/backup/rsnapshot/daily.1/shuttle/etc/alternatives/Mail.1.gz") [-- snip! --] 

Твист

Самое интересное: файл, который дает rsnapshot (или cp -al) трудное время, фактически существует дважды! Посмотрите на inode в начале строки. Вот вывод ls -liна моем Debian Box:

lennart@shuttle:~$ ls -li /mnt/backup/rsnapshot/daily.0/shuttle/etc/alternatives/ |grep -i mail 71047301 lrwxrwxrwx 1 root root 23 Oct 28 09:32 mail -> /usr/bin/heirloom-mailx 71047299 lrwxrwxrwx 1 root root 23 Oct 28 09:32 Mail -> /usr/bin/heirloom-mailx 71047302 lrwxrwxrwx 1 root root 39 Oct 28 09:32 mail.1.gz -> /usr/share/man/man1/heirloom-mailx.1.gz 71047300 lrwxrwxrwx 1 root root 39 Oct 28 09:32 Mail.1.gz -> /usr/share/man/man1/heirloom-mailx.1.gz 71047300 lrwxrwxrwx 1 root root 39 Oct 28 09:32 Mail.1.gz -> /usr/share/man/man1/heirloom-mailx.1.gz 71047303 lrwxrwxrwx 1 root root 23 Oct 28 09:32 mailx -> /usr/bin/heirloom-mailx 71047304 lrwxrwxrwx 1 root root 39 Oct 28 09:32 mailx.1.gz -> /usr/share/man/man1/heirloom-mailx.1.gz 

Вот то же самое, ls -l1выполненное на сервере, который экспортирует каталог:

[~] # ls -li /share/backup/rsnapshot/daily.0/shuttle/etc/alternatives/ |grep -> 71047299 lrwxrwxrwx 1 admin administ 23 Oct 28 09:32 Mail -> /usr/bin/heirloom-mailx 71047300 lrwxrwxrwx 1 admin administ 39 Oct 28 09:32 Mail.1.gz -> /usr/share/man/man1/heirloom-mailx.1.gz@ 71047301 lrwxrwxrwx 1 admin administ 23 Oct 28 09:32 mail -> /usr/bin/heirloom-mailx 71047302 lrwxrwxrwx 1 admin administ 39 Oct 28 09:32 mail.1.gz -> /usr/share/man/man1/heirloom-mailx.1.gz@ 71047303 lrwxrwxrwx 1 admin administ 23 Oct 28 09:32 mailx -> /usr/bin/heirloom-mailx 71047304 lrwxrwxrwx 1 admin administ 39 Oct 28 09:32 mailx.1.gz -> /usr/share/man/man1/heirloom-mailx.1.gz@ 

Вопрос

У кого-нибудь есть идеи, что могло вызвать это и как это решить?

[править 1]

тот же ls с машины под управлением OS X 10.9:

thebook-wlan:~ lennart$ ls -li /Volumes/backup/rsnapshot/daily.0/shuttle/etc/alternatives/ |grep -i mail 71047299 lrwxrwxrwx 1 root wheel 23 28 Okt 09:32 Mail -> /usr/bin/heirloom-mailx 71047300 lrwxrwxrwx 1 root wheel 39 28 Okt 09:32 Mail.1.gz -> /usr/share/man/man1/heirloom-mailx.1.gz 71047301 lrwxrwxrwx 1 root wheel 23 28 Okt 09:32 mail -> /usr/bin/heirloom-mailx 71047302 lrwxrwxrwx 1 root wheel 39 28 Okt 09:32 mail.1.gz -> /usr/share/man/man1/heirloom-mailx.1.gz 71047303 lrwxrwxrwx 1 root wheel 23 28 Okt 09:32 mailx -> /usr/bin/heirloom-mailx 71047304 lrwxrwxrwx 1 root wheel 39 28 Okt 09:32 mailx.1.gz -> /usr/share/man/man1/heirloom-mailx.1.gz 

Кажется, только моя коробка Debian имеет проблемы со списком каталогов.

0
На самом деле у меня точно такая же проблема, за исключением того, что я `ls -li` показывает, что все для меня совершенно нормально. Я пробовал кучу разных вещей, включая перемонтирование, удаление всей резервной копии и запуск заново, и т. Д. Вы когда-нибудь решали это? Chris 10 лет назад 0

1 ответ на вопрос

-1
Wayneywoo

Я столкнулся с точно такой же проблемой только с одним файлом! Моя проблема заключалась в том, что этот конкретный файл существовал как как строчные, так и прописные части. Я решил свою проблему, скопировав файл с заглавными буквами с тем же именем, просто добавив 2 к имени файла так:

xt_CONNMARK.ko (указан дважды с тем же индексом) скопирован в xt_CONNMARK2.ko

теперь xt_CONNMARK.ko указан один раз вместе с вновь скопированным файлом, xt_CONNMARK2.ko также указан один раз!

Очень очень странное поведение, но решаемо?

Похожие вопросы