广告
返回顶部
首页 > 资讯 > 操作系统 >Linux使用shell脚本定时删除历史日志文件
  • 624
分享到

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

Linuxshell脚本定时删除 2022-06-03 14:06:32 624人浏览 薄情痞子
摘要

1、tools目录文件结构 [root@www tools]# tree tools/ tools/ ├── bin │ ├── del_history_files │ └── etc ├── del_h

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

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程网。

--结束END--

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

本文链接: https://www.lsjlt.com/news/11535.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Linux使用shell脚本定时删除历史日志文件
    1、tools目录文件结构 [root@www tools]# tree tools/ tools/ ├── bin │ ├── del_history_files │ └── etc ├── del_h...
    99+
    2022-06-03
    Linux shell脚本 定时删除
  • shell脚本实现定时删除文件或文件夹
    这篇文章主要介绍“怎么使用shell脚本实现定时删除文件或文件夹”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“怎么使用shell脚本实现定时删除文件或文件夹”文章能帮助大家解决问题。一、删除XX天(...
    99+
    2022-08-23
  • 如何使用Shell脚本定时备份清除运行系统日志
    小编给大家分享一下如何使用Shell脚本定时备份清除运行系统日志,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!一、写备份并清除老日志Shell脚本:代码如下:#!...
    99+
    2023-06-09
  • 如何使用vbs脚本定时删除N天前的文件
    这篇文章主要讲解了“如何使用vbs脚本定时删除N天前的文件”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何使用vbs脚本定时删除N天前的文件”吧!脚本放在定时任务里代替服务定时执行一些操作...
    99+
    2023-06-08
  • 使用Linux shell脚本实现FTP定时执行批量下载指定文件
    使用FTP定时批量下载指定文件的shell脚本,具体实例介绍如下所示: 1、目标FTP服务器地址 #FTP服务器地址 ip=10.19.15.23 2、FTP账号和密码 u=账号 p=密码 3、使用m...
    99+
    2022-06-04
    批量 脚本 文件
  • 如何使用shell将脚本输出结果记录到日志文件
    这篇文章将为大家详细讲解有关如何使用shell将脚本输出结果记录到日志文件,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。使用tee命令:sh portal/main.sh |tee log.txt获取脚本...
    99+
    2023-06-09
  • 怎么用Shell脚本自动删除指定大小以上的备份文件
    这篇文章主要介绍“怎么用Shell脚本自动删除指定大小以上的备份文件”,在日常操作中,相信很多人在怎么用Shell脚本自动删除指定大小以上的备份文件问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么用Shel...
    99+
    2023-06-09
  • 如何使用Linux中shell脚本实现FTP定时执行批量下载指定文件
    小编给大家分享一下如何使用Linux中shell脚本实现FTP定时执行批量下载指定文件,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!使用FTP定时批量下载指定文件...
    99+
    2023-06-09
  • 在Linux中如何使用Bash脚本删除早于 “X” 天的文件/文件夹
    小编给大家分享一下在Linux中如何使用Bash脚本删除早于 “X” 天的文件/文件夹,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!1)在 Linux 中删除早于...
    99+
    2023-06-16
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作