centos调度任务:tomcat日志分割+mysql备份
日志分割
- 安装crontab:yum install crontabs
- 写入命令:vim /data/autocutcatalina.sh
#!/bin/bash
#设置日志文件所在路径
log_path=/home/apache-tomcat-6.0.47/logs
d=date +%Y-%m-%d
d4=date +%H-%M-%S
指定日志文件名,如果catalina.out没有按照日期分,那就去掉‘$d.’即可
filename=${log_path}/catalina.$d.out
filesize=ls -l $filename | awk '{ print $5 }'
指定文件最大为100M,可以修改100为自己指定M数
maxsize=$((10241024100))
if [ $filesize -ge $maxsize ]
then
cd ${log_path} && cp catalina.$d.out ${log_path}/catalina.$d.out.${d4}.log
echo > catalina.$d.out
fi
- 赋权限:chmod +x /data/autocutcatalina.sh
- 设置调度任务:crontab -e并输入计划(分 时 天 月 周 命令):
*/1 * * * * /data/autocutcatalina.sh
- 监控日志:tail -f /var/log/cron
mysql备份 - 写入命令:vim /data/autobackupmysql.sh
vi /data/autobackupmysql.sh
#!/bin/bash
#备份路径
BACKUP=/data/database_bak
#当前时间 /data/database_bak
DATETIME=$(date +%Y-%m-%d_%H%M%S)
echo "===备份开始==="
echo "备份文件存放于${BACKUP}/$DATETIME.tar.gz"
#数据库地址
HOST=localhost
#数据库用户名
DB_USER=root
#数据库密码
DB_PW=123456
#创建备份目录
[ ! -d "${BACKUP}/$DATETIME" ] && mkdir -p "${BACKUP}/$DATETIME"
#test1数据库
DATABASE=test1
mysqldump -u${DB_USER} -p${DB_PW} --host=$HOST -q -R --databases $DATABASE | gzip > ${BACKUP}/$DATETIME/$DATABASE.sql.gz
#test2数据库
DATABASE=test2
mysqldump -u${DB_USER} -p${DB_PW} --host=$HOST -q -R --databases $DATABASE | gzip > ${BACKUP}/$DATETIME/$DATABASE.sql.gz
#压缩成tar.gz包
cd $BACKUP
tar -zcvf $DATETIME.tar.gz $DATETIME
#删除备份目录
rm -rf ${BACKUP}/$DATETIME
#删除10天前备份的数据
find $BACKUP -mtime +10 -name "*.tar.gz" -exec rm -rf {} ;
echo "===备份成功==="
- 赋权限:chmod +x /data/autobackupmysql.sh
- 设置调度任务:crontab -e并输入计划:30 1 * * * /data/autobackupmysql.sh
- 监控日志:tail -f /var/log/cron
标题:centos调度任务:tomcat日志分割+mysql备份
作者:三学一心
地址:http://bk.isseeker.com/articles/2018/10/31/1540968196627.html