定时清理日志脚本

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u013494765/article/details/87883522

定时清理日志脚本

说明

脚本用于清除某一文件夹中n天前的 *.log 文件,可以通过参数控制 n 的大小。

原理

使用find 命令查询当前路径中创建时间是n天前的文件,然后执行rm命令删除文件

代码


#! /bin/bash

#------------------------------
#  清除脚本文件所在文件夹的日志  
# 输入参数控制删除多少天前的记录

#文件绝对路径
basepath=$(cd `dirname $0`; pwd)

day=60
# 判断输入元素个数是否等于1
if [[ $# -eq 1 ]]; then
	day=$1
fi

find $basepath -mtime +${day} -name "*.log" -exec rm -rf {} \;

参数说明

mtime 举例说明:

-mtime n : n为数字,意思为在n天之前的“一天之内”被更改过内容的文件

-mtime +n : 列出在n天之前(不含n天本身)被更改过内容的文件名

-mtime -n : 列出在n天之内(含n天本身)被更改过内容的文件名

使用说明

为避免误删日志文件,所以本脚本只支持删除脚本文件夹中的日志,使用时请放到要删除日志的文件夹。
添加定时任务启动脚本

[root@fdsafjklan ~]$crontab -e

# 清除datax日志
00 08 * * * /日志路径/clearLog.sh 7 >>/定时任务日志路径/clear_`date +\%Y\%m\%d`.log

猜你喜欢

转载自blog.csdn.net/u013494765/article/details/87883522