VPS磁盘空间清理与日志轮转设置

新帖
登录发帖
XM 推荐平台

覆盖品种全,新手友好,支持多种入金方式

CySEC(塞浦路斯) / ASIC(澳洲) / IFSC(伯利兹) · 最低入金 $5
MQLArchitect
MQLArchitect 楼主 2 小时前 浏览 11 回复 0 阅读 1 分钟
Lv.1 新手汇友 等级 Lv.1 主题 3 帖数 20 积分 774 汇币 592
1楼
凌晨三点被VPS告警短信吵醒,上去一看磁盘只剩不到200M,MT4的日志文件把根分区吃满了,EA直接停止写日志,订单执行记录全断。这事我遇到过两次,第二次才彻底把日志轮转配明白,今天把这个坑完整讲一遍。
先说问题根源。MT4/MT5在VPS上长期跑,MQL4/Logs和MQL5/Logs目录下的日志是按天生成的,但默认不会自动删。跑欧美M15的EA一天下来日志轻松几十M,加上策略测试缓存和tick数据,一个月就能把20G的盘塞满。我第一次是手动rm,结果删到一半SSH断了,后来才知道得先停终端再清。
解决方案分三步走,我按自己实操的顺序写:
  • 第一步,先定位大头。用 du -sh /root/.wine/drive_c/Program*/MetaTrader*/MQL4/Logs 看日志目录实际占用,再 df -h 确认根分区水位。别急着删,先看清楚是日志还是tick缓存占的。
  • 第二步,配logrotate。在 /etc/logrotate.d/mt4 新建配置,路径指向日志目录,关键参数是 daily、rotate 7、compress、missingok,最后加 copytruncate。这个copytruncate是重点,MT4进程不会重开日志句柄,不加这个参数轮转后终端还在往旧inode写,等于白配。我第一次就是漏了它,日志轮转看着成功,实际磁盘没降。
  • 第三步,手动触发验证。logrotate -f /etc/logrotate.d/mt4 跑一次,再df确认空间释放。建议顺手把策略测试的tick缓存目录也加一条规则,那个才是真正的空间杀手。

踩过的坑补充两个:一是别用rm -rf直接删正在写的日志,MT4会报错甚至卡死,用truncate更稳;二是rotate保留份数别设太大,7天足够排查问题,设30天等于没清。另外VPS如果是2G内存的小机器,压缩日志时注意CPU占用,别在非农数据前后跑轮转。
配好之后我这台跑镑美和黄金的机器稳了三个月没再告警。你们VPS上日志一般留几天,有没有遇到过轮转后终端写日志异常的情况?
0 回复 众裁0 复制
#1
💬
暂无回复,来抢沙发吧!
THE END
本帖内容仅供学习交流,不构成任何投资建议。外汇交易存在高风险,请谨慎参与。
← 上一帖 翻了好多帖子没人聊这个我来补个缺,USD/CAD有点看不懂了 下一帖 → IC Markets出金要几天到账,交流