1.修改tomcat/conf/logging.properties
将日志级别调整到INFO,日志输出到tomcat.*的文件中
2.去掉localhost_access_log日志
注释掉tomcat中server.xml中的内容
3.编写定时任务shell脚本
#!/bin/bash
#source /home/mfls/.bash_profile
logs_path="/home/app/applications/project/jeecms/tomcat/logs/"
#find $logs_path -mtime +1 -name "catalina.*.log" -exec rm -rf {} \;
#find $logs_path -mtime +1 -name "host-manager.*.log" -exec rm -rf {} \;
#find $logs_path -mtime +1 -name "localhost.*.log" -exec rm -rf {} \;
#find $logs_path -mtime +1 -name "localhost_access_log.*.txt" -exec rm -rf {} \;
#find $logs_path -mtime +1 -name "manager.*.log" -exec rm -rf {} \;
find $logs_path -mtime +1 -name "tomcat.*.log" -exec rm -rf {} \;
>$logs_path/catalina.out;
#定义当前日期
d=`date +%Y-%m-%d`
#定义15天前的日期
d15=`date -d'1 day ago' +%Y-%m-%d`
#跳转到tomcat日志文件夹,复制catalina.out到catalina.out.${d}.log
cd ${log_path} && cp catalina.out ${log_path}/catalina.out.${d}.log
#清空cat文件alina.out
echo > catalina.out
#删除15天前的catalina.out.${d15}.log
rm -rf ${log_path}/catalina.out.${d15}.log
shell脚本创建之后注意给其授予可执行权限:chmod 750 xxx
4.检查是否安装crond
查看是否安装了cron软件包: rpm -qa|grep vixie-cron
查看是否安装了crontabs软件包:rpm -qa|grep crontabs
安装命令:
yum install vixie-cron
yum install crontabs
5.创建定时器
crontab -e
* * * * * sh /home/app/applications/project/jeecms/tomcat/bin/clean.sh
:wq保存,然后重启定时任务
6.cron命令
/sbin/service crond start //启动服务
/sbin/service crond stop //关闭服务
/sbin/service crond restart //重启服务
/sbin/service crond reload //重新载入配置
/sbin/service crond status //查看服务状态
7.查看定时任务发现报错信息,特此记录
执行/sbin/service crond status 查看定时任务状态时发现报"sendmail: fatal: parameter inet_interfaces: no local interface found for ::1",具体如下:
网上查了下,这段内容表达的是 参数inet_interfaces::1没有找到本地接口,不只是设置定时任务的时候会遇到这个问题,其他关于本地接口使用时都有可能遇到这个问题。
解决方法:
vim /etc/postfix/main.cf
找到
inet_interfaces = localhost
inet_protocols = all
替换为
inet_interfaces = all
inet_protocols = all
然后保存退出,重启postfix
service postfix restart