我正在编写一个 bash 备份脚本,它在已安装的卷(即 /mnt/btrfs/subvolume)上创建 BTRFS 子卷快照。像往常一样,我会使用“lsof /mnt/btrfs/subvolume”并将其输出通过管道传输到“awk 'NR==1 || $4~/[0-9][uw]/'”之类的东西,所以我可以看看是否有任何变化的文件。
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
sh 5019 root 1w REG 8,35 2088960 12 /mnt/ext4/currently_generated_archive.tar.xz
这不会以相同的方式在 BTRFS 上工作,并且不会返回打开的文件进行写入。我最好的猜测是 BTRFS 子卷使用“写入时复制”,因此内核/lsof 不知何故被愚弄并且没有显示这些更改。有谁知道,我如何检查是否有任何文件在安装的 BTRFS 子卷下被更改/写入?
问候