我管理的 Linux (CentOS4) 机器上的用户经常忘记清空垃圾。由于人们处理大文件,这会很快填满 /home 分区。
因此,我想创建一个脚本,让用户在注销时自动清空用户的垃圾箱。
我该如何做呢?
编辑 我想我应该稍微解释一下情况:计算机连接到显微镜。用户进入、登录、拍照(在采集过程中将照片存储在充足的暂存空间中),然后将数据传输到服务器上。
有时,乍一看还不错的图片其实很垃圾,因此用户会删除图片(这会将它们发送到 /home 中的垃圾箱),而不是将它们移动到服务器。或者他们复制数据而不是移动数据,然后稍后再删除。
最后,他们注销,以便其他人可以使用显微镜。如果他们只是用垃圾填满了 /home,下一个人就无法启动采集程序,这意味着我必须去清空垃圾,而且由于显微镜几乎 24/7 都在使用,这种情况可能会在相当不方便的时间发生(此外还可能取消用户的显微镜会话)。
为了避免这些问题,我想确保每次用户注销时清空垃圾箱,以便下一个用户可以完成他们的工作。
答案1
我真的不喜欢你干涉用户文件。他们才是知道什么该保留什么不该保留的人。谁知道呢,也许他们会把垃圾文件夹当作tmp
文件夹。
我应该怎么做:
- 使用磁盘配额来限制他们拥有的空间大小。这需要与你所能承受的空间大小相同。
- 为他们提供额外的“临时”空间。这应该足够了,但我会实施一个 cron 作业,定期删除长时间未访问的文件(收割者实际上已经内置了所有这些功能并且附带一些附加功能)。
那么你也不必担心像我这样的人会立即删除您对我的登录/注销脚本的修改。
答案2
如果您确实愿意,请在用户目录中执行 ~/.bash_logout 文件并触发清除垃圾。
您还应该查看桌面环境的文档以了解推荐的注销脚本 - 大多数桌面都支持此功能。