背景: 开发环境总是动不动就没有空间了, 大部分都是debug日志。所以有必要在日志很疯狂的时候,删除不必要的日志。

思路:一、 书写删除日志文件脚本; 定时任务执行。  但是有时候的日志是需要保存用来查询的。所以不完美。

   二、 删除脚本保存,定时任务去查询系统空间是否到达临界值,到达则删除,否则不进行任何操作。

日志删除脚本:

#!/bin/sh
date "+%Y-%m-%d %H:%M:%S"
echo ==========before rm==========
df -h
echo
echo current dir size:
du -sh
echo find /logs -name "log.out.*" -user $USER -exec rm -f {} \;
find /logs -name "log-201*.out" -user $USER -exec rm -f {} \;
find /logs -name "facade.out.*" -user $USER -exec rm -f {} \;
find /logs -name "monitorlog.out.*" -user $USER -exec rm -f {} \;
find /logs -name "monitordetaillog.out.*" -user $USER -exec rm -f {} \; find /logs -name "catalina.out.*" -user $USER -exec rm -f {} \;
find /logs -name "catalina.2*" -user $USER -exec rm -f {} \; if [ ! -f .cleanFile.sh ]; then
echo "cat /dev/null>\$1">.cleanFile.sh
chmod +x .cleanFile.sh
fi find /logs -name "catalina.out" -user $USER -exec ./.cleanFile.sh {} \;
find /logs -name "log.out" -user $USER -exec ./.cleanFile.sh {} \; echo ==========after rm===========
df -h
echo
echo current dir size:
du -sh
echo

定时删除任务:

  * * * /logs/rmlog.sh>>/logs/rmlog.sh.log

指定大小删除的定时任务:

# 查询使用多少空间
mya="df -h | sed -n '3p;' | awk '{print $2}' | sed 's/G//'" # 如果空间不够,则执行日志删除脚本
awk 'BEGIN{ if($mya>34){cmd="sh /logs/rmlog.sh"; system(cmd);}else{cmd="echo nothing"; system(cmd);}}' # 定时任务
*/ * * * * awk 'BEGIN{ if($mya>34){cmd="sh /logs/rmlog.sh"; system(cmd);}else{cmd="echo nothing"; system(cmd);}}'

欢迎交流!!!

Linux中定时删除超过指定大小的文件夹的更多相关文章

  1. Linux下面自动清理超过指定大小的文件

    Linux下面自动清理超过指定大小的文件 思路:1)查找test目录下的所有的文件2)判断是否大于100M3)大于100M则清空 以byte为单位显示文件大小,然后和100M大小做对比. 100M换算 ...

  2. SecureCRT SSH Linux中不显示彩色 字体颜色、文件夹和文件显示的颜色区别开解决办法

    SecureCRT SSH Linux中不显示彩色 字体颜色.文件夹和文件显示的颜色区别开解决办法 实验环境: 刚开始我的情况是这样的:带颜色的显示不出来,然后还能看到,此处有内容,猜测是Secure ...

  3. Linux下自动清理超过指定大小文件

    作者:邓聪聪 扫描某个目录下的文件,发现超过指定大小即清空 1)扫描目录下的文件 2)判断文件大小 3)清空大于指定文件的内容 以byte为单位显示文件大小,然后和20M大小做对比. 20M换算成字节 ...

  4. Linux下自动清理超过指定大小文件的方法

    由于线上业务用的squid,根据经验值如果长时间运行则缓存目录下的swap.state会慢慢变大,一旦超过60M,squid的性能就会急剧下降,因此需要定时去清理大于60M的swap.state文件. ...

  5. Centos 建一个指定大小的文件夹

    1.使用ramdisklinux可以把一部分内存mount为分区使用,通常为称为ramdisk,分为ramdisk, ramfs, tmpfs.可以一条命令实现我们的需求:mount none tes ...

  6. 从Windows10中彻底删除【3D对象】文件夹

    Remove "3D object" folder from My Computer Windows Registry Editor Version 5.00 [-HKEY_LOC ...

  7. Linux下删除空文件,删除指定大小的文件

    Linux下批量删除空文件(大小等于0的文件)的方法: find . -name "*" -type f -size 0c | xargs -n 1 rm -f 用这个还可以删除指 ...

  8. linux中find批量删除空文件及空文件夹

    linux下批量删除空文件(大小等于0的文件)的方法  代码如下 复制代码 find . -name "*" -type f -size 0c | xargs -n 1 rm -f ...

  9. linux生成指定大小的文件(转)

    # dd if=/dev/zero of=50M.file bs=1M count=50在当前目录下生成一个50M的文件 虚拟块设备文件更通用的名称是硬盘镜像文件(Hard Disk Image),但 ...

随机推荐

  1. Spark2.x详解

    一.概述 Apache Spark 是一个快速的, 多用途的集群计算系统. 它提供了 Java, Scala, Python 和 R 的高级 API,以及一个支持通用的执行图计算的优化过的引擎. 它还 ...

  2. 云数据库Redis版256M双机热备款

    云数据库Redis版是兼容Redis协议标准的.提供持久化的缓存式数据库服务,基于高可靠双机热备架构:全新推出的256M小规格款,适用于高QPS.小数据量业务,并支持免费全量迁移,完美服务于个人开发者 ...

  3. git push 提示 Everything up-to-date

    第一次在 Google Code 上弄项目,注册完毕后,尝试增加一个新文件用以测试 Git 是否好好工作.结果在 Push 时却显示 Every up-to-date,检查文件时却发现实际上一个都没更 ...

  4. Nested Prefab Mode 嵌套预制体 保存问题 Dirty

    Unity2018.3 Nested Prefab Mode 嵌套预制体 Unity2018.3开始,新增了一个Prefab Mode,俗称嵌套预制体,在Prefab里套Prefab.实际应用中多少会 ...

  5. React +Redux+ Ant Design + echarts 项目实践

    项目框架 采用React.js作为项目的框架 采用redux作为数据管理的框架 采用antd作为项目的UI组件 采用echarts完成项目中折线图的绘制 个人项目工作流程总结 拿到UI高保真图片之后先 ...

  6. python学习手册中的一些易忘的点(前三部分)

    1.ubuntu下让python脚本可直接运行: test.py文件(后缀可省)#!/usr/bin/pythonprint('wwwww') sudo chmod +x ./test.py (sud ...

  7. windows下查看端口占用以及进程名称

    http://www.cnblogs.com/rollenholt/archive/2012/08/17/2644657.html

  8. Oracle EBS 获取用户挂的职责 请求 请求的类别(RTF还是什么的)

    select fu.user_ID, fu.user_name, fu.start_date, fu.END_DATE, fu.description, fe.last_name, fr.RESPON ...

  9. IDEA 导入javaWeb项目

    导入后的项目 1. 把项目变成web项目 配置 artifact 然后这边就自动配置成了 tomcat: 然后运行 没有毛病!!

  10. nodejs+redis使用

    安装 linux安装及配置之前写过了http://www.cnblogs.com/zycbloger/p/6226682.html windows安装 下载地址:https://github.com/ ...