我在我的 Raspberry Pi 上创建了一个带有简单子卷 Data01 的 btrfs 文件系统,以共享备份我的服务器我在树莓派上创建了一个 samba 共享
之后,我通过 fstab 在我的 ubuntu 20.04 服务器上安装了 samba 共享,并尝试将一些文件从服务器同步到 raspi
乍一看它工作正常,但在第二次同步时,它看起来像 rsync 再次复制所有文件我以前从未使用过 rsync,所以我将一个大文件(3.2GB ISO)添加到服务器上的文件夹中,它只会复制一次但每次都会复制较小的文件
所以我的下一件事是检查 rsync 每次停止复制文件的文件大小 它看起来像 26MB
所以之后我查看了统计数据,我可以看到较小的文件没有正确的时间值
Datei: Zwergentrunk-1.pdf
Gr▒▒e: 740838 Bl▒cke: 1448 EA Block: 4096 regul▒re Datei
Ger▒t: 2eh/46d Inode: 4917 Verkn▒pfungen: 1
Zugriff: (0744/-rwxr--r--) Uid: ( 1001/srvbackup) Gid: ( 1001/srvbackup)
Zugriff : 2022-04-06 21:16:26.471913500 +0200
Modifiziert: 2022-04-06 21:16:26.563488588 +0200
Ge▒ndert : 2022-04-06 21:16:26.557414539 +0200
Geburt : -
但文件较大
Datei: ubuntu-20.04.4-desktop-amd64.iso
Gr▒▒e: 3379068928 Bl▒cke: 6599744 EA Block: 4096 regul▒re Datei
Ger▒t: 2eh/46d Inode: 4911 Verkn▒pfungen: 1
Zugriff: (0744/-rwxr--r--) Uid: ( 1001/srvbackup) Gid: ( 1001/srvbackup)
Zugriff : 2022-04-06 18:40:32.667789400 +0200
Modifiziert: 2022-03-20 23:29:45.304778200 +0100
Ge▒ndert : 2022-04-06 18:40:36.193852990 +0200
Geburt : -
我希望有人有任何想法,最诚挚的问候
raspi 上的 fstab(缩短)
UUID=1483d2ca-66f7-4fe4-9494-4802b078a30b /mnt/Backup01 btrfs defaults 0 1
smb配置文件
[global]
workgroup = ESD
dns proxy = no
log file = /var/log/samba/log.%m
max log size = 1000
syslog = 0
panic action = /usr/share/samba/panic-action %d
server role = standalone server
passdb backend = tdbsam
obey pam restrictions = yes
unix password sync = yes
passwd program = /usr/bin/passwd %u
passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
pam password change = yes
map to guest = bad user
usershare allow guests = yes
[homes]
comment = Home Directories
browseable = no
read only = yes
create mask = 0700
directory mask = 0700
valid users = %S
[printers]
comment = All Printers
browseable = no
path = /var/spool/samba
printable = yes
guest ok = no
read only = yes
create mask = 0700
[print$]
comment = Printer Drivers
path = /var/lib/samba/printers
browseable = yes
read only = yes
guest ok = no
[Backup01-Data01]
path= /mnt/Backup01/Data01
browsable = yes
read only false
guest ok = no
inherit acls = no
inherit permissions = yes
ea support = no
store dos attributes = no
printable = no
#create mask = 0664
#force create mode 0664
#directory mask = 0775
#force directory mode = 0775
hide special files = yes
follow symlinks = yes
hide dot files = yes
valid users = srvbackup
invalid users =
read list = srvbackup
write list = srvbackup
force user=srvbackup
服务器上的 fstab(缩短)
//officebeere/Backup01-Data01 /mnt/Backup01-Data01 cifs _netdev,uid=1000,gid=1000,username=srvbackup,password=********** 0 0
rsync命令
sudo rsync -avit --no-p --progress --delete Zwergentrunk/ /mnt/Backup01-Data01/
更新:
我已经测试了更多,我可以说这不是 btrfs 问题(用其他 HDD 和 ext4 测试仍然是同样的问题)它不仅与 rsync 相关,还尝试了 cp -a 或 cp -preserver=timestamps --> 相同的问题,但是副本上有一点差异,我可以先看到正确的修改日期,然后再更改
我尝试在 Windows 中使用复制和粘贴 --> 修改日期是正确的
但是通过 touch -r sourefile destfile,我得到了正确的日期,因此可以采取解决方法
我希望有人有更好的解决方案,我认为这是 Samba 服务器或 Mount smb 共享问题
Mount 说这是我的 Mount 选项
//officebeere/Backup01-Data01 on /mnt/Backup01-Data01 type cifs (rw,relatime,vers=3.1.1,cache=strict,username=srvbackup,uid=1000,noforceuid,gid=1000,noforcegid,addr=192.168.1.5,file_mode=0755,dir_mode=0755,soft,nounix,serverino,mapposix,rsize=4194304,wsize=4194304,bsize=1048576,echo_interval=60,actimeo=1,_netdev)
答案1
好的,我找到了,这是 Samba 中的一个错误,所以我检查了版本并升级到最新的 Raspberry 操作系统,现在它可以工作了