通用方案:专有云环境清理account-lite-web-aliyun-com容器的日志文件

通用方案:专有云环境清理account-lite-web-aliyun-com容器的日志文件

更新时间:2020-06-09 10:26:07

1. 概述

本文主要介绍在专有云环境中,account-lite-web-aliyun-com容器内清理日志文件的方法。

方案总览

类别 内容
风险等级(方案执行的影响)
操作方式 黑屏
操作复杂度
预估执行时长 N/A
客户业务的影响
可监控性 支持
有效性(重启、重拉、补丁、升级、扩容等配置是否丢失) 临时
数据修订(变更是否涉及增删改操作)
执行灰度策略 请向产品侧咨询,明确灰度策略
首次发布时间 N/A
预计完成时间 N/A

1.1. 适用范围

  • 专有云版本:V2.*,V3.*
  • 产品:基础服务设备

说明:适用云专有云V2.0~V2.5和V3.0~V3.10环境。

1.2. 风险说明

无风险。

1.3. 用户告知

由于专有云V2和V3环境中account-lite-web-aliyun-com容器内清理日志文件的操作步骤一致,本文以专有云V3环境为例。

2. 问题描述

account-lite-web-aliyun-com容器内以下目录磁盘空间告警,需要清理日志文件。

/alidata/www/logs

3. 解决方案

3.1. 环境检查

登录account-lite-web-aliyun-com容器

  1. 登录天基控制台,搜索StandardCloudCluster-A-xxxxxxx集群,单击集群右侧集群运维中心进入集群运维中心页面。

  1. 选择baseService-aas服务和AccountLiteWebAliyunCom#服务角色,单击任意机器右侧的Terminal,登录对应的机器。

  1. 执行以下命令,查看account-lite-web-aliyun-com容器的ID。

    sudo docker ps | grep account-lite-web-aliyun-com
  1. 执行以下命令,登录account-lite-web-aliyun-com容器。

    sudo docker exec -it [$Account-lite-web-aliyun-com_ID] bash

    说明:[$Account-lite-web-aliyun-com_ID]为account-lite-web-aliyun-com容器的ID。

启动Crond服务

  1. 登录account-lite-web-aliyun-com容器,执行以下命令,检查Crond服务是否启动。

    service crond status

    系统显示类似如下,Crond服务未启动。

  1. 执行以下命令,启动Crond服务。

    service crond start

    系统显示类似如下,启动Crond服务成功。

  1. 执行如下命令,查看Crond服务的运行状态。

    service crond status

    系统显示类似如下,确认Crond服务正在运行。

  1. 执行以下命令,确认可以进入定时任务编辑器。

    crontab -e

3.2. 实施步骤

备份日志文件

登录account-lite-web-aliyun-com容器,执行以下命令,备份日志文件。

tar -zcvf /opt/tianji/alidata_www_logs.tar.gz /alidata/www/logs

说明本文以/opt/tianji为例作为备份目录,现场结合实际环境使用磁盘空间充裕的目录作为备份目录。

添加定时任务

  1. 登录account-lite-web-aliyun-com容器,执行crontab -e命令,添加以下定时任务,保存并退出。每周五8点删除七天之前的日志文件。

    0 8 * * 5 find /alidata/www/logs/ -type f -mtime +7 -name '*[[:digit:]]*.log' -o -name '*.log.[[:digit:]]'|xargs -n 100 rm -f

    说明如果crontab -e命令不能执行,则执行以下命令,添加定时任务。

    echo "0 8 * * 5 find /alidata/www/logs/ -type f -mtime +7 -name '*[[:digit:]]*.log' -o -name '*.log.[[:digit:]]'|xargs -n 100 rm -f" >>/var/spool/cron/root
  2. 执行以下命令,确认定时任务添加成功。

    crontab -l

    系统显示类似如下。

3.3. 结果验证

确认磁盘使用率降低

  1. 登录account-lite-web-aliyun-com容器,执行以下命令,确认七天之前的日志文件已经被删除。

    find /alidata/www/logs/ -type f -mtime +7 -name '*[[:digit:]]*.log' -o -name '*.log.[[:digit:]]'
  1. 执行以下命令,确认/alidata/www/logs目录磁盘空间使用率降低。

    df -h

    系统显示类似如下。

删除备份的日志文件

等待定时任务正常执行后,登录account-lite-web-aliyun-com容器,执行以下命令,删除备份的日志文件。

rm -f /opt/tianji/alidata_www_logs.tar.gz

4. 回滚方案

参见解决方案,删除添加的定时任务。