linux环境利用定时任务删除过期文件脚本
2023-09-11 14:17:56 时间
一、编写shell脚本 task4delExpiredFiles.sh
#!/bin/bash #配置定时任务方法 #crontab -e #输入命令并保存退出 * * * * * /cloud/tesh/task4delExpiredFiles.sh >> /cloud/tesh/logs/task4delExpiredFiles_$(date "+\%Y-\%m-\%d").log 2>&1 function deleteFiles(){ targetDir=$1 if [ ! -d "$targetDir" ];then echo "===>target dir [${targetDir}] is not existed,exit." return fi formatedTimeStr=$(date -d @$beforeTimeStamp "+%Y-%m-%d %T") echo "=========>即将删除 $formatedTimeStr 之前的文件<=========" operated='false' #根据文件修改时间升序排列 for file in `ls -rt $1` do dir_or_file=$1"/"$file filetimestamp=`stat -c %Y $dir_or_file` timecha=$[$filetimestamp - $beforeTimeStamp] echo "time dif is "$timecha if [ $timecha -lt 0 ];then operated='true' if test -f $dir_or_file then echo "===>删除文件 $dir_or_file ..." rm -f $dir_or_file elif test -d $dir_or_file then echo "===>删除文件夹 $dir_or_file 中所有的文件..." rm -rf $dir_or_file fi fi done if [ $operated = 'true' ];then echo "===>删除过期文件完成." else echo "===>没有符合条件的过期文件,退出." fi echo "=======================================================" } #源文件根目录,手动配置 base_file_dir=/cloud/tesh/file #获取当前时间戳,单位为秒,date --date=20151117 +%s 将指定时间转换为秒 current_timeStamp=`date +%s` #文件最大保留天数 max_file_keep_days=7 #计算时间差,单位为秒 let "diff=$max_file_keep_days*24*60*60" let "beforeTimeStamp=$current_timeStamp-$diff" echo "before is "$beforeTimeStamp #调用删除文件函数 deleteFiles $base_file_dir
二、编写定时任务
执行命令 crontab -e
输入如下文本保存退出即可
* * * * * /tesh/task4delExpiredFiles.sh >> /tesh/logs/task4delExpiredFiles_$(date "+\%Y-\%m-\%d").log 2>&1
相关文章
- Linux文件共享(二)——两个独立进程打开同一个文件
- 【Linux】在linux上java工具jps jstat jinfo等命令找不到怎么办
- 《转载》renameTo文件在windows环境下可以,在linux中报错
- Linux文件权限
- jmeter分布式压测,linux环境master控制机生成的jtl文件本地打开后请求和响应报文均为空
- Linux查看文件编码格式及文件编码转换
- Linux下C结构体初始化[总结]
- Linux基础之SSH隧道/端口转发
- Linux文件和目录管理(cd,pwd,ls,mkdir,rmdir,touch,cp,rm,mv,)
- linux命令学习——cat
- windows环境通过cmd命令到ftp上下载文件到linux服务器
- Linux 批量查找并替换文件夹下所有文件的内容
- Linux RAID1和RAID5的区别
- LinuxC语言读取文件,分割字符串,存入链表,放入另一个文件
- 成功解决Windows10环境下运行Linux系统下的.sh文件
- Linux下so文件的生成和使用
- Linux命令:修改文件权限命令chmod、chgrp、chown详解
- linux学习之八---Linux进程基础知识
- 鸟哥的Linux私房菜-----6、文件与文件夹管理
- Linux操作系统桌面环境GNOME和KDE的切换
- Linux系统shell脚本之检测两台服务器指定目录下的文件一致性
- 周立功arm linux教程,极速搭建周立功IMX287A ARM Linux开发环境
- 使用wget批量下载geo数据集的全部文件 linux下载geo数据 geo处理的数据不是下载原始数据 Linux如何下载ftp文件 geo ftp geo ftp下载 geo下载
- 02 从头开始atac项目 ubuntu20 install r4.2 Linux系统环境配置 服务器版本的rstudio r install in linux /ubuntu/centos