Shell脚本
Reference
Shell笔记
shell自动清理30天以上的文件
shell自动备份PVE里的虚拟机系统文件
chatgpt做的自动备份pve镜像
shell 定时备份文件夹脚本以及删除过期备份
写一个断电按顺序自动关闭服务器的脚本
GPT:自动停止服务,控制关机
GPT: Shell 停止Docker 应用
GPT: Shell从文档读取配置信息
Shell传参给脚本,带参数运行
GPT:Shell停止Systemd服务
停止Moosefs服务
StartMoosefs.sh
StopMoosefs.sh
StopDocker.sh
StopSysyemService.sh
备份脚本
Linux运维常用脚本总结
网卡绑定bond配置脚本
自动取文件脚本
shell脚本: 同步两个本地文件夹
分割mysql-slow慢日志的脚本
解压不成功退出整个解压
Linux操作 :批量截取文件第一列,去重
文本的一些操作
nginx监控脚本
监控tomcat脚本
kafka监控脚本
zookeeper监控启动脚本
本文档使用 MrDoc 发布
-
+
首页
分割mysql-slow慢日志的脚本
有个 linux 的mysql 数据库 , 慢sql保存的位置 :/data/mysql/db_kf/elog/mysql-slow.log 。 现在需要做一个 shell脚本 , 用crontab每天 0:10分的时候 切割这个 mysql-slow.log文件 , 把他做成每天一个log文件 。 在这个slow.log同级目录新建一个文件夹 ,把切割后的文件保存到里面 ,切割后的文件名按日期区分 ```shell #!/bin/bash # 设置 mysql-slow.log 文件路径 slow_log="/data/mysql/db_kf/elog/mysql-slow.log" # 创建保存切割后文件的目录,如果不存在的话 log_dir="/data/mysql/db_kf/elog/slow_logs" mkdir -p "$log_dir" # 获取当前日期 current_date=$(date +"%Y-%m-%d") # 新的日志文件名 new_log_file="$log_dir/slow_log_$current_date.log" # 记录脚本开始运行时间 start_time=$(date +"%Y-%m-%d %H:%M:%S") echo "Script started at: $start_time" >> /data/mysql/db_kf/elog/slow_logs/script_execution.log # 切割日志文件并保存日志 if cp "$slow_log" "$new_log_file" 2>&1; then echo "Log file copied successfully to: $new_log_file" >> /data/mysql/db_kf/elog/slow_logs/script_execution.log # 清空原始日志文件 if echo "" > "$slow_log" 2>&1; then echo "Original log file cleaned successfully" >> /data/mysql/db_kf/elog/slow_logs/script_execution.log else echo "Failed to clean original log file" >> /data/mysql/db_kf/elog/slow_logs/script_execution.log fi else echo "Failed to copy log file" >> /data/mysql/db_kf/elog/slow_logs/script_execution.log fi # 记录脚本结束运行时间 end_time=$(date +"%Y-%m-%d %H:%M:%S") echo "Script ended at: $end_time" >> /data/mysql/db_kf/elog/slow_logs/script_execution.log ``` 然后,通过 crontab 来设置每天 00:10 分执行该脚本。打开 crontab 编辑器: ``` crontab -e 10 0 * * * /path/to/slow_log_rotation.sh ```
dz
2024年3月23日 10:08
转发文档
收藏文档
上一篇
下一篇
手机扫码
复制链接
手机扫一扫转发分享
复制链接
Markdown文件
分享
链接
类型
密码
更新密码