首页 > 其他分享 >定时清理docker容器日志

定时清理docker容器日志

时间:2023-12-06 10:59:55浏览次数:35  
标签:opt log sh https docker 日志 定时

场景:docker 容器启用一段时间之后日志会逐渐累积,越来越臃肿,可能高达几十个G,我们需要定期自动清理此容器日志

1.创建文件夹,创建文件写入命令,更改可执行权限:

mkdir -p /opt/docker-sh

cat > /opt/docker-sh/clean_docker_log.sh<< EOF
#!/bin/sh 
echo "======== start clean docker containers logs ========"  
logs=\$(find /var/lib/docker/containers/ -name *-json.log)  
for log in \$logs  
        do  
                echo "clean logs : \$log"  
                cat /dev/null > \$log  
        done  
echo "======== end clean docker containers logs ========"
EOF


cat > /opt/docker-sh/docker_log_size.sh<< EOF
#!/bin/sh

echo "======== docker containers logs file size ========"  

logs=\$(find /var/lib/docker/containers/ -name *-json.log)  

for log in \$logs  
        do  
             ls -lh \$log   
        done 

EOF

chmod +x docker_log_size.sh clean_docker_log.sh

2.跳转到可执行文件路径下:cd opt/docker-sh
3.查看日志大小:./docker_log_size.sh
4.清理所有日志:./clean_docker_log.sh
5.编辑定时任务:crontab -e
6.键入 a 进入编辑模式;
7.创建定时任务(每天晚上2点定期执行脚本清空容器日志):0 2 * * * /opt/docker-sh/clean_docker_log.sh(参考原文中有问题)
8.Ctrl+c 退出编辑模式
9.保存退出命令::wq(注意:带冒号),回车
10.查看定时任务:crontab -l

 

参考:

https://www.jianshu.com/p/9097e65046cc

https://www.zzzyk.com/show/b3e4be17b554b04d.htm#google_vignette

https://www.cnblogs.com/zhoading/p/11572630.html

https://blog.csdn.net/weixin_46094676/article/details/130049722

标签:opt,log,sh,https,docker,日志,定时
From: https://www.cnblogs.com/tk-bolg/p/17879011.html

相关文章

  • Windows上使用Docker搭建ChirpStack私有LoRa服务端
    1.安装docker运行docker,这里就不细说了2.下载ChirpStack项目包ChirpStack提供了一个包含示例DockerCompose配置的存储库,以帮助开始使用ChirpStack,此存储库位于chirpstack-docker:SetupChirpStackusingDockerCompose,克隆项目文件到本地电脑,可以使用以下命令:gitcloneht......
  • 【SDE】docker安装 pg-postgis 并配置 sde
    安装#1.下载imagedockerpullpostgis/postgis:12-3.3#4.运行sudodockerrun--namepostgis1233-ePOSTGRES_PASSWORD=test-v/home/postgis:/home/geoscene/postgresql/data--privileged=true-p5432:5432-dpostgis/postgis:12-3.3配置数据库createdatabase......
  • CentOS7安装Docker
    配置要求系统:Centos7Linux内核:官方建议3.10以上注意:本文的命令使用的是root用户登录执行,不是root的话所有命令前面要加sudo1.查看当前的内核版本uname-r2.更新yum包(使用root权限,生产环境中此步操作需慎重,耗时较长,该步骤可以跳过)yum-yupdateyum-yup......
  • 【Nginx40】Nginx学习:动静分离与日志分割
    Nginx学习:动静分离与日志分割放轻松放轻松,最后两篇文章学习的内容是比较轻松的。首先,我们来看看Nginx动静分离的概念,然后再看看怎么为Nginx做日志分割。内容都很简单,完全不需要有任何的压力。动静分离动静分离,听着高大上吧,而且也是面试中比较喜欢问的问题。简单来说,就是动态请......
  • docker安装的步骤
    docker安装的步骤yum-config-manager--add-repohttps://download.docker.com/linux/centos/docker-ce.repoyuminstall-ydocker-cesystemctlstartdockersystemctlenabledocker......
  • Docker部署MySQL
    一、简介MySQL是一个关系型数据库管理系统,由瑞典MySQLAB公司开发,属于Oracle旗下产品。MySQL是最流行的关系型数据库管理系统之一,在WEB应用方面,MySQL是最好的RDBMS(RelationalDatabaseManagementSystem,关系数据库管理系统)应用软件之一。二、搭建MySQL绿联DX4600......
  • .net下优秀的日志框架Serilog,你用上了吗?强烈推荐
     在.NET开发中,Serilog是一款广受欢迎的日志库,它提供了强大的日志记录功能,具有丰富的特性和高度的可扩展性。Serilog的优秀之处包括:可扩展性:Serilog可以轻松扩展以满足不同的日志记录需求,例如日志存储、格式化和过滤。它支持各种插件和自定义扩展,让你可以根据项目的具......
  • docker创建mysql集群
    一、创建mysql的节点目录#创建第一个节点mkdir/home/mysql-cluster/node1cd/home/mysql-cluster/node1mkdirconfdatafileslog#创建第二个节点mkdir/home/mysql-cluster/node2cd/home/mysql-cluster/node2mkdirconfdatafileslog#创建第三个节点mkdir/ho......
  • Linux_315_Ansible模块之定时任务管理
    ansible的cron模块来添加任务1、添加定时任务,每5分钟进行时间同步ansibleyu-mcron-a"name=ntp_cronjob='/usr/sbin/ntpdatentp.aliyun.com>/dev/null2>&1'minute=*/5"2、远程的查看定时任务是否添加ansibleyu-mshell-a"crontab-l"3、再添加一个记录,事件是......
  • 从 Elasticsearch 到 SelectDB,观测云实现日志存储与分析的 10 倍性价比提升
    导读:在云计算逐渐成熟的当下,越来越多的企业开始将业务迁移到云端,传统的监控和故障排查方法已经无法满足企业的需求。观测云可以实现对云、云原生、应用及业务的统一监测,提供整体数据的分析、洞察、可视化、自动化、监测告警、智能巡查、安全巡查等服务。本文将分享SelectDB如何助......