Rsync
小於 26MB 的文件的奇怪 rsync samba btrfs 行為
我在我的樹莓派上創建了一個 btrfs 文件系統,其中包含一個簡單的子卷 Data01,用於共享以備份我的伺服器 我在樹莓派上創建了一個 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
配置文件
[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 伺服器或掛載 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)
好的,我找到了,這是 Samba 中的一個錯誤,所以我檢查了版本併升級到最新的 Raspberry OS,它現在可以工作了