批量删除ZFS上的大型目录,而无需递归遍历
我想删除一个包含大量数据的目录。这是我的备份阵列,它是一个ZFS文件系统,线性跨度,单个池称为“ san”。San已安装在上面,/san 因此我要批量删除/ san / thispc / certainFolder $ du -h -d 1 certainFolder/ 1.2T certainFolder/ rm -rf certainFolder/无需我等待,我可以销毁该目录的句柄,使其可覆盖(即使我选择重新创建它,也可以使用相同的目录名)是不是可以? 因此,例如对于不太了解zfs fs内部mgmnt具体是如何映射目录的,但是如果我发现该映射表示例如,并删除了正确的条目,例如,该目录将不再显示,并且该目录以前保留的空间也必须从某种审计中删除。 即使在ext3 fs上,是否有一种简单的方法可以做到这一点,还是递归remove命令首先已经要做的事情,即窃取并编辑日志? 我只是希望做一些类似的事情,kill thisDir即它只是删除某种ID,并且poof目录不再显示在ls -la驱动器中,并且数据显然仍然存在于驱动器上,但是现在可以重用该空间了(被覆盖),因为ZFS就是那么酷吗? 我的意思是我认为zfs真的很酷,我们该怎么做?理想地?一起搓手:-) 我的特定用例(除了对zfs的热爱之外)是对备份存档的管理。该备份目录通过Windows盒子上的freefilesync(AWESOME PROG)推送到smb文件共享,但也具有旧文件所在的版本目录。我要删除驻留在主备份中的顶层目录,这些目录已复制到该版本中-例如/san/version/someStuff,每两个月rm -rf /san/version/someStuff/*从腻子终端清除一次,现在我必须打开另一个终端;不想每次都这样做,我已经厌倦了不得不监视rm -rf。 我的意思是,也许我应该将命令设置为只松开手柄,然后打印到标准输出,这可能很好。 更现实的是,在zfs destroy san/version; zfs create -p -o compression=on san/version@Gilles响应后,在几秒钟后重新创建数据集。