脚本记录
日志切割保留三天的日志
#!/bin/bash
cd `dirname $0`
DATE=`date +%Y-%m-%d`
DATE3=`date -d'3 day ago' +%Y-%m-%d`
cd ../logs/
cp catalina.out catalina.out.${DATE}
echo '' > catalina.out
rm -f catalina.out.${DATE3}
rm -f catalina.${DATE3}.log
rm -f localhost.${DATE3}.log
rm -f localhost_access_log.${DATE3}.txt
rm -f manager.${DATE3}.log
rm -f host-manager.${DATE3}.log
日志切割并保留30天日志
#!/bin/bash
#定义日志文件目录
tomcatlog_path=/usr/local/apache-tomcat-app/logs
#定义日期格式
logdate=`date +%Y-%m-%d`
logdate30=`date -d'30 day ago' +%Y-%m-%d` #30天的日期
#切割日志
cd ${tomcatlog_path} && cp catalina.log $tomcatlog_path/catalina.log.$logdate #日志备份
echo > catalina.log #原日志清空
rm -rf $tomcatlog_path/catalina.log.$logdate30* #保留30天的日志
执行shell脚本
chmod +x cat-logs.sh
sh cat-logs.sh
添加定时任务
crontab -e
# 每天凌晨1点打包前一天日志,并清理第三十天日志
0 1 * * * /bin/sh 脚本路径/cat-logs.sh
月末最后一天执行
#!/bin/bash
ym=`date +%m" "%Y`
if [ `date +%d` = `cal $ym|xargs|awk '{print $NF}'` ]
then
/usr/local/kettleJob/listing_YueBaoCESHI.sh(注意:这里是执行的脚本)
fi
echo "******$ym*******"