欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

shell 脚本定时删除指定文件 博客分类: LINUX shell删除cron定时dos2unix 

程序员文章站 2024-03-24 20:17:16
...

脚本文件demo.sh:

#!/bin/bash
#要执行删除的目录
filePath=/usr/local/tomcat/webapps/admin
#设定时间范围
time_sect=60
#执行脚本的当前时间
timenow=`date -u +%s`
#循环开始选择文件名
cd $filePath
#文件匹配
for i in `ls *.jsp *.html` 
do
#文件的创建时间
fileTime=`stat --printf=%Y $filePath/$i`
#判断文件的修改时间是否在设定的时间范围内,
if [ $(($timenow-$fileTime)) -gt $time_sect ]
then
#满足if条件后,删除文件
rm -rf $filePath/$i
fi
done
exit

在某个文件夹下新建文件,自定义文件名(linux文件)。例子:zhangcron

添加如下内容:

*/1 * * * * /usr/local/demo.sh   

 意为没分钟执行一次demo.sh,注意空格

执行linux命令:

crontab zhangcron

 这样linux就会在接下来的每分钟去执行一次demo.sh

 重启系统不影响

如若出现问题:

'emo.sh: line 11: syntax error near unexpected token `do
'emo.sh: line 11: `do

 则是windows的回车键和linux不同造成,可下载并安装Dos2Unix:

 http://linux.softpedia.com/get/Utilities/Dos2Unix-5519.shtml

 解压  tar -zvxf  ***

//进入安装目录执行一下命令
make
make install

 然后执行命令:

dos2unix  demo.sh 
sh demo.sh

 ok!

建议:写完脚本后要先测试!!