Rsync не может сделать резервную копию некоторых файлов, выдав ошибку 22


9

Я пытаюсь сделать резервную копию всего своего сервера, используя простой rsync на смонтированном томе NFS в / nas

Вот моя команда rsync

rsync -sav -S --stats -H --numeric-ids --delete -D 
--exclude-from="/usr/local/bin/rsync_nas1_exclude" / /nas1/

Получаем следующую ошибку:

rsync: chown "/nas1/home/8003/.local/share/icons/application-x-wine-extension-its.png" 
failed: Invalid argument (22)

или

rsync: chown "/nas1/home/8003/.local/share/applications/wine/Programs/FxPro - Trader"     failed: Invalid argument (22)

Есть идеи почему? Я использую параметр '-s' для защиты имен файлов

Ответы:


10

Ошибка включена chown. Мое предположение: целевое монтирование NFS - это том FAT32 или NTFS, который не поддерживает chown. У вас есть два варианта: отформатировать его в файловой системе Linux, например ext3, или полностью удалить права и владельцев ( --no-owner --no-groupпараметры rsync).


Раздел ext3; но мне нужно сохранить владельца / группу, поэтому я использую опцию 'numeric-ids'
Disco

Ваш NAS работает под управлением Linux или какой-то другой версии Unix?
wazoox

Линукс конечно ...
Дискотека

1

У меня была та же самая проблема в течение долгого времени без видимого решения. Кажется, проблема в том, что NFS не позволит вам изменить UID / GID файла на тот, который не существует на сервере:

# for a local file, it works fine:
rena@akira:~ $ sudo chown -v 999:999 testfile 
changed ownership of `testfile' to 999:999

# but if the file is on an NFS share, it fails:
rena@akira:/mnt/yuki $ sudo chown -v 999:999 testfile
chown: changing ownership of `testfile': Invalid argument
failed to change ownership of `testfile' to 999:999

Похоже, это немного недостаток дизайна в NFS; Вы не можете использовать его для резервного копирования файлов, принадлежащих кому-то, кто не существует на сервере. Но, может быть, есть способ отключить эту проверку?


Это работает для меня, на моем сервере NFS. Может быть, это ограничение дистрибутива / ОС, работающей на сервере NFS?
wazoox

0

В моем случае проблема оказалась в версии NFS. С NFSv4, uid / gid, который не существовал на стороне сервера, не были разрешены, тогда как NFSv3 (пока он был экспортирован no_root_squash) не возражал. Так что после того, как я добавил vers=3параметры монтирования в /etc/fstabrsync, я смог просто набить.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.