linux系统 shell脚本 定时删除三个月之前的所有文件夹和文件
为了保证服务器磁盘的空间不会持续上涨,需要定期清理磁盘中的过期图片文件,具体步骤分为两步:1、创建shell脚本:#!/bin/bashecho "========The script excute begin========"baseFolder="/apps/tomcat8080/apache-tomcat-8.0.45/webapps/abnormalImg/"year=$(...
·
为了保证服务器磁盘的空间不会持续上涨,需要定期清理磁盘中的过期图片文件,具体步骤分为两步:
1、创建shell脚本:
#!/bin/bash
echo "========The script excute begin========"
baseFolder="/apps/tomcat8080/apache-tomcat-8.0.45/webapps/abnormalImg/"
year=$(date +%Y)
month=`date +%m`
monthStr=${month:0:1}
if [ $monthStr -eq "0" ];then
month1=${month#*0}
else
month1=$month
fi
month2=`expr $month1 - 2`
cd $baseFolder
for dir in $(ls $baseFolder)
do
if [ -d $dir ];then
if [ $dir != $year ];then
echo "The folder "$dir" will be removed"
rm -rf $dir
else folder=$baseFolder$year"/"
fi
fi
done
cd $folder
for dir1 in $(ls $folder)
do
if [ -d $dir1 ];then
if [ $dir1 -lt $month2 ];then
echo "The folder "$dir1" will be removed"
rm -rf $dir1
fi
fi
done
echo "========The script excute end========"
上面这个脚本的大概意思是:获取当年的年份 year,当月的月份 month ;然后遍历图片文件夹中所有目录,判断是不是小于当月的前三个月,如果是就直接 rm -rf 删除掉,如果不是则保留;
2、创建crontab 定时任务:
输入 crontab -e 进入定时任务创建模式,然后编写下面的定时任务:意思是每天早上8:10执行指定目录下面的指定.sh脚本文件(这里指的就是第一步中创建的定时删除文件的脚本文件 test_delete.sh):
10 8 * * * /apps/tomcat8080/apache-tomcat-8.0.45/webapps/test_delete.sh;
更多推荐
已为社区贡献2条内容
所有评论(0)