Сценарий

Я создаю резервную копию одной из моих машин 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 имеет проблемы со списком каталогов.

1 ответ1

-1

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

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

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

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .