shell定期清除过期文件

利用shell find命令删除过期的缓存方法示例 主要介绍了利用shell find命令删除过期的缓存方法,文中给出了详细的示例代码,相信对大家的学习或者工作能带来一定的帮助,需要的朋友们下面来一起看看吧。 立即下载

背景

数据库备份文件每天生成一个,但要求只保留最近一周的备份文件,所以通过定时任务删除

过期的文件

实现方式

通过crontab定时任务,每天执行一次任务,将过期的数据文件删除

定时任务

15 0 * * * deletefiles.sh --dataPath=/opt/mysql --dateTime=7 --fileName=*.sql >> /var/log/deletefiles.log

实现文件deletefiles.sh

#!/bin/bash

#current_path=`pwd`
case "`uname`" in
    Linux)
        bin_absolute_path=$(readlink -f $(dirname $0))
        ;;
    *)
        bin_absolute_path=`cd $(dirname $0);pwd`
        ;;
esac

getopt_cmd=$(getopt -n $(basename $0) -o u: --long dataPath:,dateTime:,fileName: -- "$@")
[ $? -ne 0 ] && exit 1
eval set -- "$getopt_cmd"

userName=`whoami`

if [  $userName == "root" ];then
   echo -e "\e[33minstall check...\e[0m" 
else 
   echo -e "\e[33muser is $userName,you should be root\e[0m" 
   exit
fi

PRGDIR=`dirname "$PRG"`
HOME_PATH=$(cd $(dirname $0)/ && pwd)

data_path="${HOME_PATH}"
date_time="7"

function deletefiles(){
  if [ -z "${data_file}" ];then
    usage
  fi
  local currentDate=`date +%s`
  echo "current date is:" $currentDate
  for file in `find ${data_path} -name ${data_file}`;do
    local name=$file
    local modifyDate=$(stat -c %Y $file)
    local existTime=$[$currentDate-$modifyDate]
    local existTime=$[$existTime/86400]
    if [ $existTime -gt $date_time ];then
      echo "file:" $name "modify Date:" $modifyDate + "Exist time:" $existTime + "Delete:yes"
      rm -rf $file
    else
      echo "file:" $name "modify Date:" $modifyDate + "Exist time:" $existTime + "Delete:no"
    fi
  done
}

function create(){

  echo -e "\033[33m...\033[0m"

}

function usage(){

echo "usage: tools [--options <string>] [show]
   -u                          用户默认为当前登录用户
   
   --dataPath  <string>        数据文件路径,默认当前路径
   --dateTime  <string>        指定日期,默认7d
   --fileName  <string>        指定文件名称,例: --fileName=abc*.zip

   deletefiles                 删除指定日期前文件,例: deletefiles --dataPath=/opt --dateTime=7 --fileName=aa*.zip

"
exit
}

function starts(){

  case "$1" in 
    deletefiles) deletefiles ;; 
    *) usage ;;
  esac

}

function init(){
  while [ -n "$1" ];do
    case "$1" in 
      -u) userName="$2" ;shift ;;
      --dataPath)  data_path="$2" ;shift ;;
      --dateTime)  date_time="$2"  ;shift ;;
      --fileName)  data_file="$2"  ;shift ;;
      *) starts $2 ;shift ;;
    esac
  shift
  done
}

if [ "$#" -gt 1 ];then 
  init $*
else 
  usage 
fi
基于ESP32与JavaScript的Stack-chan桌面机器人:从硬件组装到AI交互的完整实践 嵌入式系统开发是连接物理世界与数字世界的核心技术,其核心原理在于通过微控制器直接操作硬件外设,实现感知、决策与执行。这项技术的核心价值在于为物联网、智能硬件和机器人等领域提供了低功耗、高可靠性的解决方案。在机器人应用场景中,嵌入式平台常作为主控大脑,驱动舵机、传感器并处理交互逻辑。本文聚焦的Stack-chan项目,正是这一理念的生动实践:它采用流行的ESP32微控制器,并创新性地通过Moddable运行时支持使用JavaScript进行嵌入式开发,极大地降低了机器人编程的门槛。开发者可以基于此平台,轻松实 阅读详情

相关推荐

VS2022配置Qt6

VS2022配置QT教程

Life is a struggle ! 6359

shell定期清理过期文件

shell定期清理过期文件 1、功能: 定期清理过期的备份数据或日志文件 #!/bin/bash #/初始化# source /etc/profile #使环境变量生效# source /home/yukw/.bash_profile #使用户环境变量生效# #export LANG="en_US.UTF-8" current_machine=`cat /etc/hostname |awk '{print $1}'` CLEAR_FILE="/scripts/clear.txt" LOGFILE=

进阶的蜗牛 1055

LabVIEW Modbus TCP通信避坑指南:解决连接中断、服务器异常与自动重连问题

本文详细解析了LabVIEW环境下Modbus TCP通信的常见问题,包括连接中断、服务器异常等,并提供了自动重连机制的实现方案。通过优化错误处理、超时参数和资源管理,帮助开发者构建更稳定的工业级Modbus TCP客户端,显著提升通信可靠性。

weixin_42525211的博客 423

文件超期删除shell脚本

定时定量删除指定目录、size文件脚本

sym的博客 1161

nnDetection实战:手把手教你用Python在自家电脑上跑通第一个肺结节检测模型

本文详细介绍了如何使用nnDetection框架在普通电脑上实现肺结节检测模型的搭建与运行。从环境配置、数据预处理到模型训练与推理,手把手教你完成医学图像检测的全流程,特别适合初学者入门医学AI领域。

weixin_32377497的博客 330

【AUCell打分】:评估一个基因集在单细胞转录组的每个细胞中特定的活性程度

AUCell使用曲线下面积来计算输入基因集的一个有意义的基因子集是否在每个细胞的表达基因中富集。AUC 分数在所有细胞中的分布允许探索特征的相对表达。由于评分方法是基于排名的,因此 AUCell 与基因表达单位和归一化程序无关。此外,由于细胞是单独评估的,因此可以很容易地应用于更大的数据集。

weixin_40695088的博客 1万+

shell 脚本删除过期文件

1.定时删除7天之前的文件 2.使用shell脚本定时删除 脚本内容 1.定时删除7天之前的文件 2.使用shell脚本定时删除 脚本内容 #!/bin/sh location="/back/db/" #删除一分钟之前的文件 #find $location -cmin +1 | xargs rm -rf {} 删除7天之前的文件 #find $location -mtime +7 | xar...

风火纶回 1373

FFTW库安装与使用(3.3.5版本)

FFTW库安装与使用一、FFTW库介绍与下载二、FFTW库安装三、FFTW库测试 一、FFTW库介绍与下载   FFTW ( the Faster Fourier Transform in the West) 是一个快速计算离散傅里叶变换的标准C语言程序集,其由MIT的M.Frigo 和S. Johnson 开发。可计算一维或多维实和复数据以及任意规模的DFT,且运行速度比Eigen和opencv自带的FFT库函数快10倍以上。   下载链接:http://www.fftw.org/install/wind

Jhon_ranble的博客 2万+

编写一个shell脚本,可以删除/backup目录下面创建时间超过3天的一级目录,不包括子目录,这些目录里面可能会有文件 ,如果目录里有文件 的话也直接删除,不需要人工确认...

编写一个 shell 脚本如下: #!/bin/bash # 设置时间戳,3 天之前的时间 timestamp=$(date -d "-3 days" +%s) # 遍历 /backup 目录下的一级目录 for dir in /backup/* do # 如果目录创建时间早于 3 天之前的时间,则删除该目录 if [ "$(stat -c %Y "$dir")" -lt "$time...

weixin_35753431的博客 208

告别电压瓶颈:手把手教你用SVPWM过调制算法提升电机驱动性能(附Simulink仿真)

本文详细介绍了如何利用SVPWM过调制算法提升电机驱动性能,解决电动汽车高速运行时的电压瓶颈问题。通过过调制I区和II区的算法实现细节,包括相角补偿与跳变控制,结合Simulink仿真演示,帮助工程师和研究者平衡电压增益与谐波失真,提升系统效率与动态响应。

weixin_30315723的博客 392

2024-12月js逆向案例-sensor-data之vmp字段之akamai_2/3.0-(下)

akamai2/3的vmp字段逆向分析

十一姐的博客 3145

Linux系统自己部署Mysql,定期备份以及定期删除

【代码】Linux系统自己部署Mysql,定期备份以及定期删除。

weixin_49416704的博客 351

ardupilot开发 --- Remote ID 篇

适配ardupilot的Remote ID模块研发,远程标识模块研发。Remote ID模块可以通过蓝牙或wifi向外广播无人机的状态信息、位置信息、任务信息等,并可以通过蜂窝数据向国家无人驾驶航空器一体化综合监管服务平台上报这些信息。Remote ID功能是21年起国家出台的民用无人机适航飞行的基本要求!

记录老板的每次pua,分享领导每天的毒鸡汤... 9607

oracle清除过期备份,Oracle数据库定期逻辑备份和删除过期文件shell脚本

#!/bin/bash# 这个脚本每天3:00执行# 0 3 * * * /home/oracle/Databakup.sh crm 1>/dev/null 2>&1export PATH=/home/oracle/app/product/10.2.0/bin:/home/oracle/app/product/10.2.0/bin:/usr/ccs/bin:/home/orac...

weixin_35300124的博客 365

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

shell脚本定期删除日志文件

假设某系统按天记录日志文件,即每天一个日志文件。随着系统的运行,日志文件越来越多。 app.log app.log.2019-06-18 app.log.2019-06-17 app.log.2019-06-16 app.log.2019-06-15 app.log.2019-06-14 app.log.2019-06-13 app.log.2019-06-12 app.log.2019-06...

hello_junz的专栏 9896

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

定时清除日志文件的Shell脚本

建立清除日志文件的Shell脚本,文件名clean_log#!/bin/bash /usr/bin/find/var/log/nginx/-name"access*"-mmin+7200-execrm{}\;添加权限chmod755clean_log设置计划任务sudocrontab-e #mhdommondowcommand 0...

weixin_33862188的博客 155

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

Shell脚本——数据库备份mysqldump

参考:数据库备份 shell备份数据库 需求一:每晚两点备份数据库 #!/usr/bin/bash #备份保存目录 buckup_dir="/data/backup/" #时间 date=`date +%F` /usr/local/mysql/bin/mysqldump -u用户名 -p密码 数据库名.表名 > $buckup_dir$date.sql #任务调度 crontab -e 0 2 * * * /usr/mysqldump.sh 需求二:只保留前七天的备份量 #!/u

小码哥222的博客 399

linux共享windows文件并自动化改变文件编码

以k3日志为例:   在k3的数据库服务器进行如下操作:   1、在k3的数据库服务器导出日志数据到本地D:/K3LOG下(脚本自动化执行)   2、设置脚本定时任务每天拷贝D:/K3LOG下的文件到D:/K3LOG_BAK     EOF       set filename=D:\test\del.log       echo (%date% %time%)>>%fil...

weixin_33910460的博客 95

Mysql Linux下的数据库自动备份

其实这个只是利用了 mysqldump来实现的数据库备份  具体代码如下: #!/bin/sh mysqldump -u dbuserName -p password dbName | gzip > ~/mysql_backup/dbName`date +%Y-%m-%d_%H%M%S`.sql.gz cd ~/mysql_backup find . -name '*.sql.gz' -

如风一样的云 374

几个清日志的小脚本

一、手动清除:#!/bin/bash#tomcat logsfind /abc/services/game-8080/logs/ -type f -mtime +7 -exec rm -f '{}' \;find /abc/services/game-8180/logs/ -type f -mtime +7 -exec rm -f '{}' \;二、自动脚本: ...

weixin_33711647的博客 110

Qwen3-ASR-1.7B Web服务运维:supervisor日志轮转+磁盘空间自动清理配置

本文介绍了在星图GPU平台上自动化部署Qwen3-ASR-1.7B镜像后,如何通过配置Supervisor日志轮转与磁盘清理脚本,确保语音识别Web服务的长期稳定运行。该方案能自动管理日志文件并清理缓存,有效防止磁盘空间耗尽,适用于构建高可用的实时语音转文字应用场景。

weixin_42513928的博客 604

linux 删除过期目录,Linux下定期清除某个目录下的过期文件

有的用户把易客CRM部署在linux服务器上,由于设定了每天自动备份,并把自动的备份文件又异地备份到异地服务器上,造成了大量过期的备份文件,所以需要定期清除过期的备份文件,脚本如下:autodeleteoldfiles.sh 代码如下:#!/bin/bash#delete old web files in qingdao serverBACKUPTHESE="/home/crmbackup/fil...

weixin_39618574的博客 579

Django项目定期自动清除过期session的两种方法

django项目的两种自动定期清除过期session的方法 1.利用APScheduler定时清除 2.利用宝塔面板(baota)的计划面板(shell脚本)

我乃技术小白,欢迎大神交流 3345

shell 删除七日内日志_SHELL脚本定期删除日志文件(日志定期清理)

假设我们的应用每天会产生一个日志文件,但我们并没有对日志文件做任何归档处理,久而久之日积月累,就会将磁盘空间占满,从而影响系统的正常运行。分析磁盘空间占用情况#当前磁盘空间占用情况df -h#当前目录文件大小列表ll -lh#文件列表按时间排序ll -rt#文件大小列表,按时间排序ll -lhrt#查询20天前的日志find * -name 'server02.log007*' -mtime +...

weixin_42587866的博客 1497

Shell定期删除Mysql中的过期数据

定期删除 #!/bin/bash HOSTNAME="192.168.111.22" #数据库信息 PORT="3306" USERNAME="root" PASSWORD="123456" DBNAME="test" ...

weixin_43239554的博客 691

svn怎么执行清理命令_SHELL脚本定期删除日志文件(日志定期清理)

假设我们的应用每天会产生一个日志文件,但我们并没有对日志文件做任何归档处理,久而久之日积月累,就会将磁盘空间占满,从而影响系统的正常运行。分析磁盘空间占用情况#当前磁盘空间占用情况df -h#当前目录文件大小列表ll -lh#文件列表按时间排序ll -rt#文件大小列表,按时间排序ll -lhrt#查询20天前的日志find * -name 'server02.log007*' -mtime +...

weixin_39849671的博客 949
上一篇: spark使用非root用户启动服务
下一篇: es的节点退役
Automato
博客等级 码龄7年 6粉丝 17原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值