我有一个小型网络应用程序(基于 PHP 和 XSLT),它使用内部文件缓存并保存用户的搜索数据。
现在,我不想耗尽磁盘空间,所以我需要一个清理和警告程序。它应该执行以下操作:
- 每 24 小时启动一次
- 检查内部缓存目录中的文件并删除所有超过 1 小时的文件
- 计算整个磁盘空间的使用量,如果大于 1 GB,则向管理员发送电子邮件。
- 停止
所以,我认为编程相当简单,我想我可以应付(我懂一点 C++ 和 PHP)。但我不知道如何有效地设置这个程序,以便它每 24 小时只启动一次,并在完成任务后立即停止:我应该使用哪种程序语言?是否有针对此类程序的特定框架?
我的系统是 openSUSE 13.1 64 位,Web 服务器是 Apache 2.4.6。
答案1
通常这项工作你根本不需要编写程序,只需要通过 cron 作业每天调用一次简短的 shell 脚本,该脚本使用以下标准工具完成工作find
:
#!/bin/bash
find /path/to/cache -type f -cmin +60 -delete
通过 cron 作业调用将处理删除部分。将其设为可执行文件并将其复制到/etc/cron.daily
以便每天执行一次。
通过编辑该部分来预先检查这是否正确完成-delete
。
计算整个磁盘空间的使用量,如果大于 1 GB,则向管理员发送电子邮件。
目前还不清楚你想要总结什么,所以我暂时不提这个,但du
或df
显示磁盘使用情况。du -s /path/to/cache
将总结缓存大小
此外,这几乎不是您要在系统上监控以保持其健康的全部内容。检查(和轮换)日志文件、整体磁盘空间等同样重要,更不用说保持系统最新了。