shell 脚本定时删除指定文件

阅读更多

脚本文件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!

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

 

 

 

你可能感兴趣的:(shell,删除,cron,定时,dos2unix)