首先输入crontab -l查看linux服务器是否安装了crontab服务(一般服务器都会自带这个服务,但是我们公司的华为云服务器是没有的),如果出现crontab: command not found说明你的服务器是没有安装crontab服务的。点击下面这个链接先安装crontab服务Linux安装crontab服务,然后输入crontab -e编辑,输入
50 00 * * * /usr/local/mysql/transservice/bin/log.sh
50 00 * * * cat > /usr/local/mysql/transservice/项目所在的Tomcat/logs/catalina.out
第一个任务的含义是每天早晨00:50执行位于/usr/local/mysql/transservice/bin下面的log.sh脚本
第二个任务的含义是每天早晨00:50清空Tomcat里面项目运行产生的日志(注:自己的项目需要配置日志写入指定文件,如果是写入到catalina.out日志文件中的话,那你项目的日志就会被每天清空了,慎重!!!)
下面再看一下第一个任务执行的log.sh脚本
#!/bin/sh
#每天日结程序,定在晚上00点50分执行
#DATE=`date +%Y%m%d`
#DATE1=`date +%Y%m%d --date="3 day ago"`
yesterday=`date +%Y-%m-%d --date="10 day ago"`
cd /usr/local/mysql/transservice/项目所在的Tomcat/shell/logs/
gzip *$yesterday*
这个脚本的作用是压缩项目产生的十天前的日志,对于日志很多的项目而言,日志的压缩能减少很多日志占用的内存。
注:这里你的项目里面配置的每天日志切割必须是%Y-%m-%d这种格式的,也就是以-相连,如果你的项目配置的日志切割是以yyyy.MM.dd那这个脚本里面的yesterday=`date +%Y-%m-%d --date="10 day ago"`需要改为yesterday=`date +%Y.%m.%d --date="10 day ago"`
设置crontab开机启动,其实crontab服务默认是开机启动的,可以通过这个命令查看是否是开机启动chkconfig | grep crond如果2,3,4,5的级别是on那就是开机启动,如果不是,普通用户的话需要sudo提升权限才能设置开机启动。
设置crontab开机启动和关于crontab的一些命令:
https://blog.csdn.net/qq_37049781/article/details/80667712