1、在数据盘建立文件夹
mkdir /data/server/cron -p
mkdir /data/server/panel/script -p
2、在/data/server/panel/script下建立脚本
vim logclear.sh
# 必须先声明
declare -A dict
# 可以添加多个对应目录键值对
# 同样mysql日志清除也可以这样操作,就是编辑麻烦
dict=(["/data/httpd/product/data/kvstore/sessions"]="*.php")
endDate=`date +"%Y-%m-%d %H:%M:%S"`
log="文件清除!"
echo "★[$endDate] $log"
echo '----------------------------------------------------------------------------'
# for 遍历
for key in $(echo ${!dict[*]})
do
# 获取清除前的文件个数
filenum=`find $key -type f | wc -l`
echo "执行目录位置:"$key" 执行前文件个数:"$filenum" 执行匹配文件:"${dict[$key]}
# 执行删除 -mmin +120 文件最后修改时间。百度一下 -exec批量删除 {} \ 注意空格,
# 这种删除比较慢
find $key -name ${dict[$key]} -type f -mtime +1 -exec rm -rf {} \
# 这种比较快
# find $key -name ${dict[$key]} -type f -mtime +1 -delete
hfilenum=`find $key -type f | wc -l`
echo "执行后文件个数:"$hfilenum
done
log="文件清除完成!"
echo '----------------------------------------------------------------------------'
:x
3、在/data/server/cron下添加执行脚本cron
vim logclear
#!/bin/bash
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
export PATH
/data/server/panel/script/logclear.sh
:x
4、添加crontab
crontab -e
# 每天凌晨1点30执行脚本清除文件
30 1 * * * /data/server/cron/logclear >> /data/server/cron/logclear.log 2>&1
|