Linux 定时清理日志

1.查找并删除文件

命令1:find 对应目录 -mtime +天数 -name "文件名" -exec rm -rf {} \;

   例:find /opt/soft/log/ -mtime +30 -name "*.log" -exec rm -rf {} \;

命令2:find  对应目录 -mtime +天数 -name "文件名" | xargs rm -rf

  例:find  /opt/soft/log/ -mtime +50 -name "*.log" | xargs rm -rf

说明:

将/opt/soft/log/目录下所有30天前带".log"的文件删除,具体参数说明如下:

find:查找命令,用户查找指定条件的文件;

/opt/soft/log/:想要进行清理的任意目录,若为当前目录下可为空;

-mtime:标准语句写法;

+30:查找30天前的文件,这里用数字代表天数;

-30:查找30天内的文件;

"*.log":希望查找的数据类型,"*.jpg"表示查找扩展名为jpg的所有文件,"*"表示查找所有文件,这个可以灵活运用,举一反三;

-exec:固定写法;

rm -rf:强制删除文件,包括目录;

{} \; :固定写法,一对大括号 + 空格 + \ + ;(分号不能丢);

2.添加定时任务

2.1 创建shell

touch /opt/soft/bin/auto-del-30-days-ago-log.sh

chmod +x auto-del-30-days-ago-log.sh

新建一个可执行文件auto-del-30-days-ago-log.sh,并分配可运行权限;

2.2 编写shell脚本

vi auto-del-log.sh

编辑auto-del-log.sh文件如下:

#!/bin/sh

find /opt/soft/log/ -mtime +30 -name "*.log" -exec rm -rf {} \;

2.3 添加定时任务

#crontab -e

将auto-del-log.sh执行脚本加入到系统计划任务,定时执行

输入:

10 0 * * * /opt/soft/log/auto-del-log.sh

每天凌晨0点10分执行auto-del-log.sh文件进行文件清理

原文地址:https://www.cnblogs.com/ddupcalm/p/10320214.html

时间: 2024-10-22 14:30:26

Linux 定时清理日志的相关文章

定时删除日志文件---linux定时清理日志

linux是一个很能自动产生文件的系统,日志.邮件.备份等.虽然现在硬盘廉价,我们可以有很多硬盘空间供这些文件浪费,让系统定时清理一些不需要的文件很有一种爽快的事情.不用你去每天惦记着是否需要清理日志,不用每天收到硬盘空间不足的报警短信,想好好休息的话,让我们把这个事情交给机器定时去执行吧. 1.删除文件命令: find 对应目录 -mtime +天数 -name "文件名" -exec rm -rf {} \; 实例命令: find /opt/soft/log/ -mtime +30

linux下清理日志的脚本

需求:由于/var分区单独划分,给的分区大小才5G,日志写满了,需要写个脚本定时清理日志文件 #!/bin/bash ##delete log script ,write by xl LOG_DIR1=/var/log LOG_DIR2=/var/spool/mail LOG_DIR3=/var/spool/mqueue ROOT_UID=0 ##Must be use root to run this script if [ "$UID" -ne "$ROOT_UID&qu

oracle定时清理日志操作

下面介绍下oracle下定时清理归档日志文件操作. 假设:归档日志满,清空归档日志办法如下. 第一步:在c盘下面建立一个RMAN_DEL.txt文件 第二步:做一个批处理文件,名为:RAMN_DEL.bat 放在c盘的根目录.文件内容如下所示: 第三步:添加一个任务计划: 执行步骤如下图所示,任务计划出来后点击下一步设置参数即可. 以上为window下执行计划任务定时删除归档日志方法.如果是linux请操作本人写的linux定时任务操作.版权所有.转载请说明出处.

Linux定时清理30天前的Tomcat日志脚本

一.在tomcat的log路径下新建.sh脚本文件clean.sh,内容如下:#!/bin/bashlogs_path="/mnt/tomcat/apache-tomcat-8.5.23/logs" find $logs_path -mtime +30 -name "localhost.*.log" -exec rm -rf {} \;find $logs_path -mtime +30 -name "localhost_access_log.*.txt&

Linux定时对日志批量打包Shell脚本及定时任务crontab 详细用法

一.需求背景     因此次项目的生产环境中部署了多套系统,每天会产生大量的日志(数百GB的量),侵占了服务器宝贵的存储资源空间.为了有效缓解服务器存储压力,考虑通过Linux的Shell脚本结合crontab定时每周一对上周7天的日志打包压缩,并删除原被打包的日志文件,以腾出更多可利用的存储资源空间. 对于初次接触Shell脚本的同学,建议先花几个小时时间学习一下Shell.附Shell教程链接如下: http://www.runoob.com/linux/linux-shell-proces

linux下定时清理磁盘日志步骤

1.编写清理日志的shell脚本 #! /bin/bash #进入要清理文件的路径 cd /home/weblogic/bin #echo "please clear startserver1.log and startWebLogic.log" #将文件内容清空 >startserver1.log >startWebLogic.log cd /home/weblogic/logs/Tafs #将文件内容清空 >send.log #进入要清理文件的路径 cd /hom

linux 日志定时清理脚本

工作中经常会碰到服务日志占满服务器磁盘,如果不去清理,服务就可能无法正常工作.适当提高日志的打印级别,如info级别提高到warn可以临时缓解下,但也不长久之际, 还得写个脚本定时清理下. #!/bin/bash #clearLog.sh nginxDir=/usr/local/nginx/logs/* devInfo=($(df -l | awk '{print $1}')) #日志所处的磁盘 perInfo=($(df -l | awk '{print int($5)}')) #磁盘使用率

linux-实现日志的定时清理

定时清理分2步骤 1.查找出需要清理的文件 2.系统增加定时执行任务 第一步.vi dellog.sh 第二步.查找需要清理的文件 录入:find /var/log/nginx -mtime +7 -type f -name \*.log | xargs rm -f 其中 -mtime +7,为查找7天前的文件 http://blog.sina.com.cn/s/blog_716358dc0100lj5p.html -type f ,类型为文件 http://zhidao.baidu.com/l

Linux下使用crontab定时备份日志

上周学习了Linux,其中有使用crontab定时备份日志的内容,现把主要步骤记录如下: 首先需要备份的日志的源目录位于/opt/lampp/logs/access_log 备份到/tmp/logs下 备份文件加上时间戳date +%Y%m%d%H%M%S 以上是备份说明,下面分三步操作 一.shell脚本 [[email protected] lampp]# vi test.sh    #创建shell脚本 #!/bin/bash