首页 > 系统相关 >linux硬盘清理

linux硬盘清理

时间:2024-10-24 09:44:03浏览次数:7  
标签:logs 清理 echo current 硬盘 linux time dir log

日志文件清理

#!/bin/bash

# 定义需要检查的目录
directories=("/home/logs/archived" \
             "/home/logs/archived" \
             "/data/logs" \
             "/data/logs")

# 获取当前硬盘分区的使用情况
df_output=$(df --output=pcent /data | tail -n 1 | tr -d ' %')

# 获取当前时间
current_time=$(date "+%Y-%m-%d %H:%M:%S")

# 判断硬盘使用是否超过70%
if [ "$df_output" -gt 70 ]; then
    echo "$current_time: Disk usage is above 70%. Cleaning up logs..."
    for dir in "${directories[@]}"; do
        # 检查目录是否存在
        if [ -d "$dir" ]; then
            # 进入目录
            pushd "$dir" > /dev/null || continue
            # 删除除了最新的5个文件之外的所有文件
            find . -type f -printf '%T+ %p\n' | sort -r | tail -n +6 | cut -d' ' -f2- | xargs rm -f
            echo "$dir is cleanup"
            # 返回上级目录
            popd > /dev/null
        else
            echo "$current_time: Directory$dir does not exist, skipping."
        fi
    done
    echo "$current_time: Log cleanup complete."
else
    echo "$current_time: Disk usage is below 70%. No cleanup needed."
fi

定时任务,每小时的第30分钟执行一次

30 * * * * /home/script/clean-td-prod-log.sh >> /home/script/logfile.log 2>&1

docker容器日志限制

修改/etc/docker/daemon.json ,添加如下内容:

{
  "log-driver": "json-file",
  "log-opts": {
    "max-size": "100m",
    "max-file": "3"
  }
}

重启docker服务

标签:logs,清理,echo,current,硬盘,linux,time,dir,log
From: https://www.cnblogs.com/chq3272991/p/18498898

相关文章

  • 局域网硬盘挂载
    前言公司有多个训练用服务器,常因繁忙要更换不同服务器训练深度学习模型,问题在于迁移数据着实麻烦。听闻可以在局域网内共享文件夹(硬盘也行),然后在需要用的服务器上挂载局域网文件夹使用体验与本地文件夹无异。局域网共享文件夹#安装samba用于分享文件夹sudoaptinstalls......
  • Linux 的系统信息命令
    Author:ACatSmilingSince:2024-10-22操作系统信息:方式一:uname-a。uname是"UnixName"的缩写,这个命令主要用于打印与系统相关的信息,-a是uname命令的一个选项,这个选项的作用是让uname打印出所有的系统信息,如果不使用-a选项,uname只会打印部分信息。输出结果......
  • Kali Linux
    KaliLinux的安装与基本使用一、梗概Kali基于Debian,内置诸多渗透测试工具二、下载与安装kali官网地址:https://www.kali.org/get-kali/#kali-platforms①物理机安装②虚拟机安装启动虚拟机,选择对应镜像,输入用户名kali密码kali即可进入默认桌面三、修改root权限输入命令:s......
  • ARM/Linux嵌入式面经(五十):tp普联
    1.FreeRTOS与Linux、Windows操作系统的核心区别是什么?深入探讨实时性、资源占用、任务调度、内核可配置性等方面的差异。FreeRTOS与Linux、Windows操作系统的核心区别主要体现在实时性、资源占用、任务调度、内核可配置性等方面。以下是对这些方面的深入探讨:实时性:......
  • 黑马软件测试第一篇_Linux
    Linux操作系统说明:所有硬件设备组装完成后的第⼀一层软件,能够使⽤用户使⽤用硬件设备的软件即为操作系统常见分类桌⾯面操作系统:Windows/macOS/Linux移动端操作系统:Android(安卓)/iOS(苹果)服务器器操作系统:Linux/WindowsServer嵌⼊入式操作系统:Android(底......
  • Linux学习_1
    第0章Linux基础入门主要包括什么是计算机,操作系统简介,Linux入门,常见Linux版本介绍,Linux认证,搭建Linux学习环境,这里主要写一下有关Linux操作的部分搭建Linux学习环境安装Linux操作系统(学习在虚拟机VMware中安装)首先下载VMware虚拟机和镜像VMware虚拟机下载地址:VMwareby......
  • C++调试经验(4):Linux下调试CAN通信的方法
    1.CAN通信介绍         CAN(ControllerAreaNetwork,控制器局域网)是一种现代的通信协议,用于在各种应用中的不同设备之间进行高速通信。它最初由德国的Bosch公司于20世纪80年代开发,用于汽车中的电子系统之间的通信,目前已广泛应用于汽车行业以及其他工业领域。CAN通信......
  • 常用的Linux awk 命令
    对文件拆分,获取指定内容例:http:****startDate=20241023&endDate=20241023获取startDate对应参数的内容awk-F'startDate=|endDate''{print$2}'如果需要获取符合条件的整行,将$2改为$0,$0表示获取原始数据对数据进行分组统计例:http:****startDate=20241023&endDate=20241023......
  • Elasticsearch 在linux部署 及 Docker 集群部署详解案例示范
    1.在CentOS上安装和配置Elasticsearch在CentOS系统下,安装Elasticsearch主要分为以下步骤:1.1准备工作在开始安装之前,确保你的系统满足以下基本条件:CentOS版本要求:推荐使用CentOS7及以上版本。Java环境:Elasticsearch依赖于Java运行时环境(JRE)。需要确......
  • 从0开始linux(18)——进程(9)进程程序替换
    欢迎来到博主的专栏——从0开始linux博主ID:代码小豪文章目录进程程序替换excel函数其他的替换函数进程程序替换的主要的函数为execl系列,注意这个execl可不是windows的办公软件,而是c标准库中的函数,由于其运行原理与命令行参数和环境变量相关,因此读者在观看这篇博客......