如何使用 rsync 将目录正确复制到远程 USB 笔驱动器

如何使用 rsync 将目录正确复制到远程 USB 笔驱动器

如何以某种方式将 Debian 11 的目录树复制到远程笔式驱动器,以便我可以在不修改任何权限的情况下将此目录恢复到操作系统?

USB 笔驱动器安装/home/<user>/mnt在 PC 上<host>。该目录的权限和笔式驱动器的格式是:

$ ls -la ./mnt
drwxrwxrwx 1 root root 16384 Jan  1  1970 .
drwxr-xr-x 3 <user> <user>  4096 Mar 21 20:10 ..

$ sudo fdisk -l | grep sdb
Partition 3 does not start on physical sector boundary.
Disk /dev/sdb: 29,85 GiB, 32027705344 bytes, 62554112 sectors
/dev/sdb1        2048 62554111 62552064 29,8G 83 Linux

然后我安装了远程USB 笔驱动器 ( /home/<user>/mnt) 通过/mnt/remoteusb以下方式:

$ sudo sshfs -o allow_other,default_permissions <user>@<host>:/home/<user>/mnt /mnt/remoteusb

$ ls -la /mnt/remoteusb/
drwxrwxrwx 1 root root 16384 Jan  1  1970 .
drwxr-xr-x 3 root root  4096 Mar 20 22:52 ..

在此设置之后,我尝试通过 rsync 复制文件,但仍然收到以下三类警告(13、95、74),尽管我没有修改权限或时间戳:

$ sudo rsync -aAXHv /var/lib /mnt/remoteusb --log-file=/home/user/rsynclog.log --no-perms --omit-dir-times | grep failed

rsync: [receiver] chown "/mnt/remoteusb/lib/gdm3/.local/share/gvfs-metadata/.root.S3P7V1.j1LLd2" failed: Permission denied (13)
rsync: [receiver] rsync_xal_set: lsetxattr("/mnt/remoteusb/lib/systemd/.random-seed.oerYo2","user.random-seed-creditable") failed: Operation not supported (95)
rsync: [receiver] mkstemp "/mnt/remoteusb/lib/ucf/cache/.:etc:apt:apt.conf.d:50unattended-upgrades.ustIa1" failed: Bad message (74)

答案1

使用 sshfs,权限根据<user>您用于建立连接的权限而受到限制。实际上,您根本不需要使用 sshfs。

我建议直接使用 rsync (在幕后,它也使用 ssh)。您需要在本地和服务器端都使用 root 用户,如下所示:

sudo rsync -aAXHv /var/lib root@<host>:/root/mnt

相关内容