centos8平台mysql日志的按天切分
一,mysqladmin使用flush-logs的文档:
mysql8官网上面针对mysqladmin的文档地址
https://dev.mysql.com/doc/refman/8.0/en/mysqladmin.html
内容:
flush-logs [log_type ...] Flush all logs. The mysqladmin flush-logs command permits optional log types to be given, to specify which logs to flush. Following the flush-logs command,
you can provide a space-separated list of one or more of the following log types: binary, engine, error, general, relay, slow.
These correspond to the log types that can be specified for the FLUSH LOGS SQL statement.
说明: flush-logs 加 error binary slow 等参数,这个功能点是在mysql5.7版本后才增加的,
更低版本的mysql应该不支持这个参数,一定要注意
说明:刘宏缔的架构森林是一个专注架构的博客,地址:https://www.cnblogs.com/architectforest
对应的源码可以访问这里获取: https://github.com/liuhongdi/
说明:作者:刘宏缔 邮箱: 371125307@qq.com
二,创建日志分割后目录
[root@yjweb logs]$ mkdir mysqllogsbackup
三,编写脚本
[root@yjweb crontab]# vi split_mysql_logs.sh
内容:
#!/bin/bash
# 备份mysql的日志 # 昨天的日期
file_date=$(date -d"1 day ago" +"%Y%m%d")
echo ${file_date} #mysql log的路径
log_path_mysql=/data/mysql/log #日志分割后的路径
back_base=/data/logs/mysqllogsbackup
user="root"
passwd="demopass" # ===================backup dir name======================== date_year=$(date -d"1 day ago" +"%Y")
date_month=$(date -d"1 day ago" +"%m")
date_day=$(date -d"1 day ago" +"%d")
back_path=${back_base}/${date_year}/${date_month}/${date_day}
echo ${back_path} # ===================mkdir back_path======================== if [ -d ${back_path} ];then
echo 目录已经存在,不能重复创建
else
mkdir -p ${back_path}
fi # =================== 备份mysql log ======================== cd ${log_path_mysql}
for file in $(ls *log);
do
mv ${file} ${back_path}/${file_date}_${file}
done /usr/local/soft/mysql/bin/mysqladmin -u$user -p$passwd --socket=/data/mysql/var/mysql.sock flush-logs slow error
说明:我们针对两个日志做切分,一个是慢查询日志,一个是错误日志
不建议针对二进制日志即binlog做切分
四,编写完成后添加可执行属性,并加入到crond
[root@yjweb crontab]# chmod +x split_mysql_logs.sh
[root@yjweb log]# crontab -e
增加一行
15 0 * * * sh /data/web/crontab/split_mysql_logs.sh >> /data/logs/cronlogs/splitmysqllogs.log 2>&1
查看效果:
[root@yjweb log]# crontab -l | grep mysql
15 0 * * * sh /data/web/crontab/split_mysql_logs.sh >> /data/logs/cronlogs/splitmysqllogs.log 2>&1
五,查看日志分割的效果:
[root@yjweb log]# ll /data/logs/mysqllogsbackup/2020/03/10/
total 48
-rw-r--r-- 1 mysql mysql 42444 Mar 11 16:52 20200310_mysqld.log
-rw-r----- 1 mysql mysql 1184 Mar 11 17:22 20200310_mysql-slow.log
六,查看当前centos服务器版本
[root@yjweb ~]# cat /etc/redhat-release
CentOS Linux release 8.0.1905 (Core)
centos8平台mysql日志的按天切分的更多相关文章
- CentOS8平台php日志的定时切分
一,编写bash脚本: [root@yjweb crontab]# vi split_php_logs.sh 代码: #!/bin/bash # 备份php/php-fpm的日志 # 昨天的日期 fi ...
- CentOS8平台nginx日志的定时切分
一,编写bash脚本: [root@yjweb crontab]# vi split_nginx_logs.sh 代码: #!/bin/bash # 备份nginx的日志 # 昨天的日期 file_d ...
- centos8平台redis5日志按天分割
一,创建日志的备份目录 [root@yjweb crontab]# mkdir /data/logs/redislogsbackup 说明:刘宏缔的架构森林是一个专注架构的博客,地址:https:// ...
- MySQL日志管理
MySQL日志管理 2013年09月26日 ⁄ MySQL ⁄ 共 14266字 ⁄ 评论数 ⁄ 被围观 , views+ 一.日志类型: MySQL有几个不同的日志文件,可以帮助你找出mysqld内 ...
- MySQL 日志管理详解
大纲 一.日志分类 二.日志详解 注:MySQL版本,Mysql-5.5.32(不同版本的mysql变量有所不同) 一.日志分类 错误日志 查询日志 慢查询日志 二进制日志 中继日志 事务日志 滚动日 ...
- MYSQL数据库性能调优之八:mysql日志
MySQL日志 主要包含:错误日志.查询日志.慢查询日志.事务日志.二进制日志.中继日志: 使用 SHOW GLOBAL VARIABLES LIKE '%log%'; 查询所有日志配置详情: 一. ...
- 笔记整理--Linux平台MYSQL的C语言
Linux平台MYSQL的C语言API全列表 - 第三只眼的专栏 - 博客频道 - CSDN.NET - Google Chrome (2013/8/18 22:28:58) Linux平台MYS ...
- 何时、怎样开启 MySql 日志?
假如你是一名 web 开发者.假设你想调试你的应用或提升其性能的话,那你须要去參考各种日志文件.日志是開始故障排除最好的选择.就著名的 MySql 数据库server而言,你须要參考下面日志文件: 错 ...
- log4j配置参数详解——按日志文件大小、日期切分日志文件
项目中尽管对log4j有基本的配置,例如按天生成日志文件以作区分,但如果系统日志文件过大,则就需要考虑以更小的单位切分或者其他切分方式.下面就总结一下log4j常用的配置参数以及切分日志的不同方式. ...
随机推荐
- 《Head First 设计模式》:组合模式
正文 一.定义 组合模式允许你将对象合成树形结构来表现"整体/部分"层次结构.组合能让客户以一致的方式处理组合对象以及个体对象. 组合对象:包含其他组件的组件. 个体对象(叶节点对 ...
- oracle之二数据库审计
数据库审计audit(PPT-I-320-334) 13.1 审计的功能:监控特定用户在database 的action(操作) 13.2 审计种类: 1)标准数据库审计(语句审计.权限审计.对象审计 ...
- Java反序列漏洞
序列化:WriteObject 反序列化:readObject() Jd-gui.exe 最简单的打开java文件方式 Intellij idea 编辑工具 演示案例: WebGoat_Javaweb ...
- 腾讯会议大规模使用Kubernetes的技术实践
腾讯会议,一款提供灵活协作的线上会议解决方案.其中大量的模块是有状态服务,在使用Kubernetes为其进行容器化部署时,Pod升级需保持共享内存.长连接服务.升级时只容忍ms级抖动,需提供大规模分批 ...
- Java一键部署包,Linux部署不用愁!!!
前言 昨天一哥们的弟弟突然问我有没有部署过的Linux,公司连个运维都没有,服务器都要后端部署.... 你有没有相似的遭遇呢?公司规模小,后端即是运维,一份工资干两份活,哈哈~ 为了解决这老弟的困惑, ...
- 首发!Alibaba内部:Spring源码培训课件笔记曝光!
本文包含的内容 Spring占有的市场 阅读源码的重要性 阅读源码困难度 课件笔记的主要内容 Spring占有的市场 先来简单说一下现在各个企业常用并与Spring相关的: ssh = spring ...
- dubbo负载均衡
dubbo 一.同一个dubbo生产者服务怎么分布在不同服务器,且能进行负载均衡? 只要两个服务的id,接口,实现类一致(且dubbo:application名称一致,表示同一应用),注册到同一zoo ...
- ThreadLocal源码分析与实践
ThreadLocal是什么? ThreadLocal是一个线程内部存储类,提供线程内部存储功能,在一个ThreadLocal对象中,每一个线程都存储各自独立的数据,互不干扰 示例如下: public ...
- 《Netty权威指南》笔记
第1章 Java的I/O演进之路 1.1 Linux网络I/O模型 fd:file descriptor,文件描述符.linux内核将所有外部设备都看作一个文件来操作,对文件的读写会调用内核提供的命令 ...
- vue学习06 v-show指令
目录 vue学习06 v-show指令 v-show指令是:根据真假切换元素的显示状态 原理是修改元素的display,实现显示隐藏 指令后面的内容,最终都会解析为布尔值(true和false) 练习 ...