rsync 给出“chown <...> failed: Invalid argument (22)”与 nfs 共享

Ren*_*ena 7 backup nfs rsync

我正在尝试使用 rsync 通过以 root 身份运行的 shell 脚本将我的整个系统备份到外部磁盘:

#!/bin/bash
rsync -vSHPhhaX --numeric-ids --delete --exclude-from=/home/rena/.scripts/exclude-list / /home/rena/video/.backup/>/home/rena/video/.backup.log
Run Code Online (Sandbox Code Playgroud)

这个脚本在机器“akira”上运行。原来,/home/rena/video 是直接连接到akira 的USB 硬盘,脚本运行良好。

最近我移动了磁盘;现在它安装在另一台机器“yuki”的同一路径上,并通过 NFS 共享。所以akira:/home/rena/video 仍然是指同一个USB硬盘,只是现在附加到yuki并通过nfs共享,而不是直接附加到akira。该磁盘使用 ext3 并使用 Truecrypt 加密。

yuki 的 /etc/exports 是:

/home/rena  akira(rw,subtree_check,nohide,no_root_squash) rei(rw,subtree_check,nohide,no_root_squash)
/home/rena/video    akira(rw,subtree_check,nohide,no_root_squash) rei(rw,subtree_check,nohide,no_root_squash)
Run Code Online (Sandbox Code Playgroud)

现在 rsync 为每个文件给出一个错误:

rsync: chown "/home/rena/video/.backup/boot/System.map-2.6.38-8-generic" failed: Invalid argument (22)
Run Code Online (Sandbox Code Playgroud)

nfs 似乎在“挤压”,即使它被告知不要?

rena@akira $ stat /home/rena/video/.backup/boot/abi-2.6.38-10-generic
  File: `/home/rena/video/.backup/boot/abi-2.6.38-10-generic'
  Size: 730457          Blocks: 1440       IO Block: 65536  regular file
Device: 19h/25d Inode: 38822526    Links: 1
Access: (0644/-rw-r--r--)  Uid: (65534/  nobody)   Gid: (65534/ nogroup)
Access: 2011-10-19 22:17:12.000000000 -0600
Modify: 2011-06-28 13:19:43.000000000 -0600
Change: 2011-10-19 22:17:12.000000000 -0600

rena@yuki $ stat /home/rena/video/.backup/boot/abi-2.6.38-10-generic
  File: `/home/rena/video/.backup/boot/abi-2.6.38-10-generic'
  Size: 730457      Blocks: 1440       IO Block: 4096   regular file
Device: fc04h/64516d    Inode: 38822526    Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2011-10-19 22:17:12.000000000 -0600
Modify: 2011-06-28 13:19:43.000000000 -0600
Change: 2011-10-19 22:17:12.000000000 -0600
Run Code Online (Sandbox Code Playgroud)

从 akira 来看,UID 和 GID 看起来不同;也许是 rsync 失败的原因?

[编辑] 事实上,从 akira 看来,共享上的每个文件都有 UID 和 GID 65534/nobody。

小智 0

假设这不是 NFSv4,您似乎正在执行匿名共享,并且因为默认情况下没有匹配的 uid/gid,所以没有分配任何人/没有组。