作为临时解决方案,我创建了一个小的 bash 脚本来清理 Redis 内存,并使用 cron 作业将其设置为每天早上 6 点运行。
注意:我将日志保存在 /home/ubuntu/logs。如果您不需要,可以忽略它。
#!/bin/bash
# 设置日志目录和文件名
LOG_DIR="/home/ubuntu/logs"
LOG_FILE="$LOG_DIR/redis.cleanup.$(date +\%Y-\%m-\%d).log"
# 确保日志目录存在
mkdir -p "$LOG_DIR"
# 记录有关当前环境(主机端)的信息
echo "Running script at $(date)" >> "$LOG_FILE"
# 在应用程序中运行 discourse launcher 并将输出保存到日志文件(主机端)
echo "redis cleanup command" >> "$LOG_FILE"
docker exec app redis-cli flushall >> "$LOG_FILE" 2>&1
# 指示脚本已完成(主机端)并退出
echo "Script completed successfully at $(date)" >> "$LOG_FILE"
exit 0