当我的公司文件服务器被占满时,我非常害怕。
找到源头后,我发现有一个 .recycle 文件夹,里面保存着所有被删除的文件(这个文件夹也是隐藏的)
有什么办法可以禁用该功能吗?
或者定期运行删除所有垃圾的命令?
编辑
我的 smb.conf 示例
[homes]
comment = Home
path = /home/%S/smbhome
browseable = no
writable = yes
read only = no
-->* veto files = /.recycle/
--> vfs objects = recycle
--> recycle:keeptree=True
--> recycle:versions=True
--> recycle:touch=True
hide dot files = yes
force directory mode = 0770
force create mode = 0660
force group = grp-it
valid users = @grp-it, %S
invalid users =
我应该注释掉这些行吗?
那么 VETO 文件呢?(标有 *)
答案1
你已经得到了桑巴舞回收插件已配置。当通过 Samba 共享删除文件时,这会将文件复制到 .recycle 目录。
该插件使用vfs objects
中的 share 配置选项smb.conf
。要禁用它,请找到vfs objects
配置选项并recycle
从值中删除(如果它仅引用),请完全删除该选项recycle
)。您还需要删除所有以 为前缀的选项recycle:
。
我们使用如下的每日 cron 作业来删除 .recycle 中超过 10 天的文件并清理空目录:
#!/bin/sh
for d in /home/*/.recycle
do
if [ -d "$d" ]
then
tmpreaper --mtime-dir --symlinks 10d "$d"
find "$d" -depth -mindepth 1 -type d -print0 | xargs --null --no-run-if-empty rmdir --ignore-fail-on-non-empty
fi
done
此脚本使用收割者包裹。
这veto files
该选项阻止用户.recycle
通过文件共享查看或访问目录。
如果要禁用 Recycle 插件,请删除或注释掉除 行之外的所有突出显示的行veto files
。要允许用户查看和访问名为 的目录.recycle
,请也删除或注释掉veto files
行。