linux配置定时删除日志文件,Linux使用shell脚本定时删除历史日志文件

Linux使用shell脚本定时删除历史日志文件,文件,小时,时间,目录,脚本

Linux使用shell脚本定时删除历史日志文件

易采站长站,站长之家为您整理了Linux使用shell脚本定时删除历史日志文件的相关内容。

1、tools目录文件结构

[root@www tools]# tree tools/

tools/

├── bin

│ ├── del_history_files

└── etc

├── del_history_files.cfg

2 directories, 2 files

2、删除历史文件脚本 del_history_files

[root@www tools]# more tools/bin/del_history_files

#!/bin/sh

# 删除指定目录下,文件时间早于指定时间节点的文件,时间粒度:小时

# 配置文件格式 : 需清理的目录=小时数

#

#

# define restricted path

PATH="/bin:/usr/bin:/sbin:/usr/sbin"

# adirname - return absolute dirname of given file

adirname() { odir=`pwd`; cd `dirname $1`; pwd; cd "${odir}"; }

# ---------

# constants

# ---------

MYNAM=`basename "$0"`

MYDIR=`adirname "$0"`

MYCFG="${MYDIR}/../etc/${MYNAM}.cfg"

MYTMP="${MYDIR}/../tmp"

MYLCK="${MYTMP}/${MYNAM}.lock"

# perform some locking (as good as it gets in a shell)

[ -s "${MYLCK}" ] && kill -0 `cat "${MYLCK}"` 2>/dev/null &&

die "${MYNAM}: already running!"

echo "$$" > "${MYLCK}"

PATHS=(`cat ${MYCFG}`)

for PP in ${PATHS[@]}

do

APP_PATH=`echo ${PP} | awk -F'=' '{print $1}'`

N=`echo ${PP} | awk -F'=' '{print $2}'`

if [ -d ${APP_PATH} ] ; then

T=`/bin/date --date "${N} hours ago" "+%Y%m%d%H%M"`

TMP_FILE="/tmp/`echo ${PP} | md5sum | awk '{print $1}'`"

touch -t ${T} ${TMP_FILE}

find ${APP_PATH} ! -newer ${TMP_FILE} -type f -print0 | xargs -0 -n 100 rm -rf

find ${APP_PATH} -type d -empty -print0 | xargs -0 -n 100 rm -rf &> /dev/null

fi

done

rm -rf ${MYLCK}

3、删除历史文件脚本的配置文件 del_history_files.cfg

[root@www tools]# more tools/etc/del_history_files.cfg

#需清理的目录=小时数

/home/logs/nginx=720

/home/logs/varnish=720

4、crontab 执行即可

[root@www tools]# more /etc/crontab

SHELL=/bin/bash

PATH=/sbin:/bin:/usr/sbin:/usr/bin

MAILTO=root

HOME=/

#clear old logs

00 6 * * * root /home/tools/bin/del_history_files

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持易采站长站。以上就是关于对Linux使用shell脚本定时删除历史日志文件的详细介绍。欢迎大家对Linux使用shell脚本定时删除历史日志文件内容提出宝贵意见

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/443533.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

linux awk执行shell命令,awk调用shell命令

在awk内部可利用管道和getline函数来调用shell命令,并可得到返回的具体结果,进行相应处理。例子如下:1) {while ( ("ls" | getline) >0 )print}输出当前目录下的所有文件,并打印到标准输出上。| 是管道,g…

linux添加启动脚本文件夹,linux – 将脚本中的符号链接添加到rc.d文件夹中以在系统启动期间启动进程...

我正在使用fedora 15.我试图添加MYSql守护进程在系统strtup期间启动.我已经明白我必须将它添加到rc5.d,因为它是默认目标&是graphical.target.来自inittab:systemd uses ‘targets’ instead of runlevels. By default, there are two main targets:multi-user.…

org.apache.commons.fileupload.FileUploadBase$SizeLimitExceededException:

一:今天在使用struts2做文件上传时出现了该异常: 警告: Unable to parse request org.apache.commons.fileupload.FileUploadBase$SizeLimitExceededException: the request was rejected because its size (5897994) exceeds the configured maximum (2…

linux天气软件,类似智能手机!Linux中安装Conky天气插件

如今,智能手机中很多都安装相匹配外观的天气小插件,而对于喜欢操作系统平台的用户而言,可以在你的Linux桌面中拥有像智能手机一样的天气外观。通过Flair Weather Conky可以将使用一个GUI工具Conky Manager在Linux中轻松地管理Conky。这里介绍…

linux go 安装路径,在Alpine Linux D的路径中找不到已安装的Go二进制文件

我有一个Go二进制文件,试图在Alpine Docker映像上运行。这对于Docker Go二进制文件很好用。docker run -it alpine:3.3 shapk add --no-cache curlDOCKER_BUCKETget.docker.comDOCKER_VERSION1.9.1curl -fSL "https://${DOCKER_BUCKET}/builds/Linux/x86_64/do…

linux安装下载中文包,linux下安装中文包和字体

在虚拟机中使用中文输入法和中文显示使用的是rhel5的镜像我把其镜像挂载在/mnt/cdrom中,然后切换到/Server目录下,安装支持中文字体Mount /dev/cdrom /mnt/cdromCd /mnt/cdrom/serverrpm -ivh fonts-chinese-3.02-9.6.el5.noarch.rpmrpm -ivh fonts-ISO8…

Java-Jdbc,JDBC连接Oracle11g实例:

很长时间没用Oracle数据库了,今天在公司的电脑上装了一个Oracle11g,安装完成后,顺便写了个简单的Jdbc连接Oracle的例子,现在记录一下,方便以后查看: 例子很简单,直接上代码: (注意&…

linux无桌面重做系统,Linux不需要重做系统

感谢hsyyf的投递但从系统构架上来讲,总所周知,Linux的稳定性远大于windows,单纯的使用不会引起系统的损坏。当不进行危险操作时,例如执行sudo rm-rf/*之类的命令,或者混用分区工具,是不会引起各种彻底性损坏…

linux远程连接工具putty使用方法,linux远程登陆工具putty使用

#putty工具百度下载即可,最好从官网下。安装时,除安装位置外,其余默认即可。1、使用命令ifconfig命令,记下eth0的IP,我的是192.168.1.1692、打开putty,并将查到的ip写在图中位置,下侧的Saved Se…

linux来源usb驱动在哪下载,Linux USB驱动程序基础

非常好的linux驱动入门,介绍详尽Linux USB驱动程序基础来源: ChinaUnix博客日期:2008.04.10 23:55(共有条评论) 我要评论(Linux USB Driver BasicsIntroductionDrivers are software components that operating systems use to providehardware specific services t…

linux中ss实现原理,ss 详解

ss用来显示处于活动状态的套接字信息。ss命令可以用来获取socket统计信息,它可以显示和netstat(参考https://www.jianshu.com/p/7630474c39b1)类似的内容。但ss的优势在于它能够显示更多更详细的有关TCP和连接状态的信息,而且比netstat更快速更高效。当服…

Hibernate3.X实现基于CLOB字段类型的注解方式:

一:Hibernate3.X实现基于CLOB字段类型的注解方式的例子:下面直接上代码: 二:UserInfo.java package cn.gov.csrc.cms.model;import javax.persistence.Basic; import javax.persistence.Column; import javax.persistence.Entity;…

linux mint安装步骤,Linux mint 安装步骤

##Linux mint 安装步骤##家里的笔记本以前一直用Deepin系统,但是Deepin系统的wifi实在是太慢了。还有就是启动软件是有时候总没响应,卡死机。 最近重装系统,选择了mint ,在这里记录下安装步骤。###1.制作U盘启动盘###下载iso文件,…

linux 商业游戏,Ubuntu下安装试玩原生Linux版商业游戏Braid

这款原生Linux版商业游戏Braid国外出售价大约在80美元左右。每年在Linux平台上发布的原生商业游戏是屈指可数,而且这些游戏的质量也是参差不齐。不过这款原生Linux版商业游戏Braid还是值得一玩的,这款Braid游戏创意十足,您可以通过拼图和时间…

linux centos 7 crontab 启动,CentOS 7 Linux执行crontab 计划任务实操 - 好应网

[inlosc_lg_title]一、环境准备[/inlosc_lg_title]yum install vixie-cron #安装定时任务插件yum install crontabs #安装定时任务crontabs/bin/systemctl restart crond.service #启动服务/bin/systemctl reload crond.service #重新载入配置/bin/systemctl status crond.serv…

变量的初始化与使用C语言程序注释,c - (为什么)使用未初始化的变量未定义行为?...

C标准为编译器提供了很大的优势来执行优化。 如果您假设一个简单的程序模型,其中未初始化的内存被设置为某个随机位模式,并且所有操作都按照它们的写入顺序执行,那么这些优化的后果可能会令人惊讶。注意:以下示例仅有效&#xff0…

三羊献瑞c语言编程入门,蓝桥杯-三羊献瑞,

蓝桥杯-三羊献瑞,更多精彩文章请关注公众号『大海的BLOG』问题观察下面的加法算式:祥 瑞 生 辉 三 羊 献 瑞----------------三 羊 生 瑞 气其中,相同的汉字代表相同的数字,不同的汉字代表不同的数字,‘三’和‘祥’不…

Struts2.3接收post方式提交的表单参数的方式

一:方式一:通过request来获取,首先让action实现ServletRequestAware接口,然后通过request来获取提交的参数,代码如下: package cn.gov.csrc.flight.action;import java.util.HashMap; import java.util.List; import j…

倒果汁c语言,水果榨汁补维生素C?这些补维生素的错误别再犯了

原标题:水果榨汁补维生素C?这些补维生素的错误别再犯了蔬菜和水果作为维生素C、矿物质和植物纤维的重要来源,是每天餐桌上都要出现的食物,一旦水果蔬菜吃不够,身体就会开始找你麻烦。在处理蔬菜水果的时候,…

dos和linux有关系吗,DOS和Linux近年来的发展比较

大家都听说过Linux操作系统吧!Linux诞生于20世纪的90年代初,于90年代末开始出名并在许多人中开始了实际使用。著名的“开放源代码”运动更是使新的Linux程序不断出现,使Linux得到了进一步的发展,尤其是在服务器领域得到了较大的应…