要清除Meta的垃圾桶,您需要挂载名为"MooseFS MooseFS“的特殊目录。
首先为MooseFS元目录创建装载目录:
代码语言:javascript复制mkdir /mnt/mfsmeta并挂载mfsmeta
代码语言:javascript复制mfsmount -o mfsmeta /mnt/mfsmeta如果您的主服务器主机名不同于默认mfsmaster和/或端口不同于默认9421,请使用适当的开关,例如:
代码语言:javascript复制mfsmount -H master.host.name -P PORT -o mfsmeta /mnt/mfsmeta然后,您可以在/mnt/mfsmeta/trash/SUBTRASH目录中找到已删除的文件。Subtrash是/mnt/mfsmeta中一个名为000..FFF的目录。如果你在垃圾桶中有很多(例如数百万)的文件,Subtrashes是很有用的,因为你可以很容易地使用像find这样的Unix工具对它们进行操作,而如果你把所有的文件都放在一个目录中,这样的工具可能会失败。
如果回收站中没有太多文件,请使用mfsflattrash参数挂载Meta:
代码语言:javascript复制mfsmount -o mfsmeta,mfsflattrash /mnt/mfsmeta或者,如果您使用主主机名或端口而不是默认:
代码语言:javascript复制mfsmount -H master.host.name -P PORT -o mfsmeta,mfsflattrash /mnt/mfsmeta在这种情况下,您删除的文件将直接在/mnt/mfsmeta/trash中可用(无子垃圾)。
在这两种情况下,您都可以通过简单地使用rm file删除文件,或者通过将它们移到垃圾桶或子垃圾桶(mv file undel)中的undel目录来取消删除它们。
请记住,如果您根本不想将某些文件移至垃圾桶,请在删除之前将这些文件的“垃圾桶时间”(以秒为单位)设置为0。如果您为某个目录设置了特定的回收站时间,则在此目录中创建的所有文件都会继承父级的回收站时间,例如:
代码语言:javascript复制mfssettrashtime 0 /mnt/mfs/directory您还可以将垃圾桶时间设置为其他值,例如1小时:
代码语言:javascript复制mfssettrashtime 3600 /mnt/mfs/directory有关传递给mfsmount或mfssettrashtime的特定参数的详细信息,请参阅man mfsmount和man mfstrashtime。
希望它能帮上忙!
彼得