|
@@ -0,0 +1,42 @@
|
|
|
+# MemoryCleanup
|
|
|
+
|
|
|
+MemoryCleanup 是一个用于自动监控和清理 Linux 系统日志目录(默认 `/var/log`)下大文件的 Go 程序。
|
|
|
+
|
|
|
+## 主要功能
|
|
|
+- 监控指定日志目录下的所有文件。
|
|
|
+- 当日志文件大小超过 500MB 时,自动将其内容截断清空,防止日志文件占用过多磁盘空间。
|
|
|
+- 实时监听日志目录的文件变化,自动处理新生成或被写入的日志文件。
|
|
|
+
|
|
|
+## 使用方法
|
|
|
+
|
|
|
+### 1. 编译
|
|
|
+
|
|
|
+确保已安装 Go 环境(1.16 及以上),在项目根目录下执行:
|
|
|
+
|
|
|
+```sh
|
|
|
+go build -o log-cleaner main.go
|
|
|
+```
|
|
|
+
|
|
|
+### 2. 运行
|
|
|
+
|
|
|
+以 root 或有权限的用户运行(需有权限访问 `/var/log`):
|
|
|
+
|
|
|
+```sh
|
|
|
+./log-cleaner
|
|
|
+```
|
|
|
+
|
|
|
+### 3. 配置
|
|
|
+
|
|
|
+- 默认监控目录为 `/var/log`,最大文件大小为 500MB。
|
|
|
+- 如需修改监控目录或文件大小限制,可在 `main.go` 中修改 `logDir` 和 `maxSize` 常量后重新编译。
|
|
|
+
|
|
|
+### 4. 作为服务运行(可选)
|
|
|
+
|
|
|
+可结合 `log-cleaner.service` 文件将其注册为 systemd 服务,实现开机自启和后台运行。
|
|
|
+
|
|
|
+## 依赖
|
|
|
+- [fsnotify](https://github.com/fsnotify/fsnotify) 用于文件系统事件监听。
|
|
|
+
|
|
|
+## 注意事项
|
|
|
+- 请确保运行用户有权限读取和截断日志目录下的文件。
|
|
|
+- 仅适用于 Linux 系统。
|