定时删除linux日志(Linux使用shell脚本定时删除历史日志文件)
类别:服务器 浏览量:2654
时间:2022-03-31 19:52:59 定时删除linux日志
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面板新手使用教程交流(宝塔面板Linux自动磁盘挂载工具 BT-Panel 1.0)
- 护卫神主机大师教程(护卫神主机大师Linux版安装及卸载图文教程)
- linux双网卡热备配置超详细(linux 使用bond实现双网卡绑定单个IP的示例代码)
- linux中输出和追加命令(linux驱动开发中常用函数copy_from_user open read write详解)
- linux如何安装php7.1.5环境(vmware linux系统安装最新的php7图解)
- springboot如何解析vue登录参数(SpringBoot + Vue 项目部署上线到Linux 服务器的教程详解)
- linux系统用ftp传输文件(Linux与Windows XP之间使用FTP互传文件)
- linux解压zip文件的命令(Linux gzip 命令的使用)
- linux系统登录mysql数据库(Linux手动部署远程的mysql数据库的方法详解)
- Linux 下如何检查内存使用率(Linux 下如何检查内存使用率)
- linux离线安装nfs服务器(linux搭建FastDFS文件服务器的实现步骤)
- 宝塔linux面板搭专业版(宝塔linux面板怎么卸载?)
- 使用docker在linux环境中部署springboot包的教程(使用docker在linux环境中部署springboot包的教程)
- linux怎么搭建nfs(通过案例深入解析linux NFS机制)
- linuxread指令(Linux read命令的使用)
- linux系统编程语法(简析Linux网络编程函数)
- 乔欣古装女主戏获热度 作为女主,却没吃到红利(乔欣古装女主戏获热度)
- 爱情是什么(爱情是什么最经典的话)
- 乔欣 古装剧中的高颜值(古装剧中的高颜值)
- 怎么才可以财富自由(如何让自己实现财富自由)
- 为什么越来越多年轻人回农村(为什么越来越多年轻人回农村生活)
- 怎么快速学好英语(怎么快速学好英语初中)
热门推荐
- ocr公式识别python(初探利用Python进行图文识别OCR)
- vueelementui侧边栏(Vue Element UI自定义描述列表组件)
- 云服务器都包括什么(云服务器有什么优势?)
- dedecms添加代码(dedecms 栏目目录用首字母生成的方法)
- python用指针合并两个有序数组(Python3实现计算两个数组的交集算法示例)
- 日常操作docker命令(Docker常用命令详解)
- windows server开启ftp服务器(全面提高Windows系统FTP服务器的安全性能)
- sql 基本函数(SQL开窗函数的具体实现详解)
- php中抽象类和接口的区别(PHP抽象类和接口用法实例详解)
- python pyqt 教程(Python+PyQt5实现美剧爬虫可视工具的方法)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9