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

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

时间: 2020-08-22

linux 中写一个脚本 定时删除缓存任务,并创建相关文件,Linux使用shell脚本定时删除历史日志文件...相关推荐

  1. 开发环境 -- 在linux中写一个脚本拷机

    遇到一个问题,x86板卡通过PCIE外接网卡芯片82599,某一块板子过一会出现网络不通的问题,排查发现某一时刻系统出现如下异常: [ 1250.888189] Uhhuh. NMI received ...

  2. 在 Linux 中把一个网页转换成 PDF的技巧介绍

    你如何在 Linux 中把一个网页转换成 PDF?你可以选择使用每个 Linux 发行版上的网页浏览器(GUI),或者使用终端将网页变成 PDF 文件. 在这里,我将提到这两种方法来帮助你完成工作. ...

  3. 在ubuntu linux 中编写一个自己的bash脚本

    在ubuntu linux 中编写一个自己的简单的bash脚本. 实现功能:终端中输入简单的命令(以pm为例(play music)),来实现音乐的播放.注:本人ununut中安装了audacious ...

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

    Linux使用shell脚本定时删除历史日志文件,文件,小时,时间,目录,脚本 Linux使用shell脚本定时删除历史日志文件 易采站长站,站长之家为您整理了Linux使用shell脚本定时删除历史 ...

  5. 在linux中写php语言吗,将PHP作为Shell脚本语言使用

    我们都知道,PHP是一种非常好的动态网页开发语言(速度飞快,开发周期短--).但是只有很少数的人意识到PHP也可以很好的作为编写Shell脚本的语言,当PHP作为编写Shell脚本的语言时,他并没有P ...

  6. Linux中搭建一个ftp服务器详解

    来源:Linux社区  作者:luzhi1024 详解Linux中搭建一个ftp服务器. ftp工作是会启动两个通道: 控制通道 , 数据通道 在ftp协议中,控制连接均是由客户端发起的,而数据连接有 ...

  7. 在Linux中搭建一个FTP服务器

    在Linux中搭建一个ftp服务器,以供两个工作小组保管文件使用.禁用匿名.第一个小组使用ftp账号:ftp1,工作目录在:/var/ftp/ftp1:第二个小组使用ftp2,工作目录在:/var/f ...

  8. php开发ftp服务器搭建教程,在Linux中搭建一个FTP服务器

    在Linux中搭建一个ftp服务器,以供两个工作小组保管文件使用.禁用匿名.第一个小组使用ftp账号:ftp1,工作目录在:/var/ftp/ftp1:第二个小组使用ftp2,工作目录在:/var/f ...

  9. 在linux中建立一个vim的目录,Linux学习笔记一(目录结构、Vim编辑器、用户管理)...

    1.Linux介绍 linux是一个开源.免费的操做系统,其稳定性.安全性.处理多并发已经获得 业界的承认,目前不少企业级的项目都会部署到Linux/unix系统上. Linux主要的发行版: Ubu ...

  10. 字串处理 expr在linux中是一个功能非常强大的命令。通过学习做一个小小的总结。

    expr在linux中是一个功能非常强大的命令.通过学习做一个小小的总结. 1.计算字符串的长度.我们可以用awk中的length(s)进行计算.我们也可以用echo中的echo ${#string} ...

最新文章

  1. 汉中职业技术学院计算机专业,2020年陕西省青年职业技能大赛计算机网络管理员决赛开幕式在汉中职院举行...
  2. effective c++ 条款20:宁以pass-by-reference-to-const替换pass-by-value
  3. jinja2的转义详解
  4. AT1219-歴史の研究(历史研究)【回滚莫队】
  5. linux下查看中断请求记录 IRQ
  6. 出差费用管理模块的几个问题
  7. jquery的语法结构包括哪几部分?_牙釉质的组织学结构具体包括哪几部分
  8. Senparc.Weixin.MP SDK 微信公众平台开发教程(九):自定义菜单接口说明
  9. Delphi – TCanvas.CopyRect方法中参数CopyMode的意义
  10. Steam DS4手柄
  11. 80004005 mysql_数据库报错80004005
  12. Status code :200 OK (from disk cache)
  13. HTML5用于定义一篇日志,[网页设计]HTML5之新增的元素
  14. PS人物换装--白色换纯色
  15. 奥鹏计算机文化基础在线考试,奥鹏中国石油大学北京《计算机文化基础》在线考试客观题答案.doc...
  16. GAN训练不稳定原因
  17. [jvm-sandbox] 多个agent并用
  18. 土地利用/覆被变化(LUCC)定义理解
  19. 安利2019年度10 款最优雅实用的「生活工作必备工具」
  20. 织梦二次开发写php,织梦二次开发常用新建php页面读取标签模板教程

热门文章

  1. Atitit rdmng 研发管理重要的领域 目录 第一章 编程语言 1 第一节 Dsl 1 第二章 编程方法与理念 通用化vs 专用化 1 第一节 动态化 1 第三章 框架与工具 通用vs专用
  2. Atititi 软件界面gui开发之道 attilax著 1. 概览 2 1.1. 编程语言的发展 asmnativevmscriptdsl 2 1.2. Ui的细化html ,css ,
  3. Atitit 性能指标与性能提升的5个原则与性能提升模型
  4. Atitit 图像处理 深刻理解梯度原理计算.v1 qc8
  5. 我们来做做公募基金数量的“人口”大普查
  6. Rust: (作者 洛佳) 使用Rust编写操作系统(附录一):链接器参数
  7. 王国斌最新演讲!给企业家7大建议:资本从来都不是免费的
  8. Julia科学记数法格式输出问题
  9. 计算机ps一级知识点,2017年计算机等级一级Photoshop常考知识点
  10. 【优化算法】人工大猩猩部队优化算法(GTO)【含Matlab源码 1798期】