我管理一些 unix 系统,我的系统上的用户正在创建大量垃圾文件,并弄乱他们的工作区。我每天都会遇到文件系统已满的情况。有很多兆兆字节锁起来就只是浪费。
有清理过程即计划任务每天运行一次,但有些类型的文件,比如非常大的 ear 文件的备份,数据库转储不会得到按模式识别匹配。我甚至考虑删除他们的账户,但这可能涉及附带损害。
有些工具/流程/技术为了创建工作环境,我可以介绍如何帮助避免继续浪费磁盘存储,而不必销毁它们。
答案1
无法自动确定哪些文件对用户重要,哪些不重要。即使是几周或几个月未更改的大型旧日志文件也可能包含重要信息。使用磁盘配额,让用户在需要更多空间时与您联系。
我从学生时代记得的另一件事是一张有点公开(但只在当地部门内)的纸,上面有一份按顺序排列的用户名列表及其当前主目录大小。这是一个更友好的耻辱堂版本。它让你的用户意识到他们使用的磁盘资源比其他人多得多。但我想这只对一小群彼此熟悉的人来说是可以接受的。
答案2
您可以尝试使用 logrotate,这是一个守护进程,它将根据您创建的规则管理日志(和其他文件)。许多文本文件的压缩效果非常好,例如日志的压缩率经常达到 95% 以上,因为它们反复出现相同的术语。比删除安全得多,因为您没有删除数据,只是压缩了数据。
如前所述,用户数据的存档/管理非常棘手(尽管您可以根据文件系统和设置使用上次访问日期自动存档某些内容),但我建议先移动您要删除的数据,然后压缩它,并在足够长的时间后删除,以确保没有人依赖它。您还可以考虑使用廉价存储作为低层存档目标,而不是删除。将文件移动到那里并使用软符号链接指向新位置。
答案3
我认为你应该向用户引入配额。这样他们可能会用完配额限制而无法上传更多内容,但他们不会填满你的整个文件系统。
这里有一个关于如何操作的很好的指南:
http://www.centos.org/docs/5/html/Deployment_Guide-en-US/ch-disk-quotas.html