`

CentOS下用crontab 定时任务监控Mysql磁盘空间

阅读更多

最近作产品并发测试的时候,因为日志量比较大,日志系统(Mysql数据库)很快将磁盘空间写满。首先想到用crontab写定时任务监控mysql占用的空间。思路大致如下:

1、首先通过

select round(sum((DATA_LENGTH+INDEX_LENGTH)/1024/1024),3) as size from INFORMATION_SCHEMA.TABLES where TABLE_NAME IN(?)

 监控,如果超过阀值则执行清理

2、导出jar备用

3、定义crontab任务 调用jar。参考http://zh.wikipedia.org/wiki/Cron 定义任务脚本

*/1 * * * * /home/archive_log.sh

archive_log.sh内容如下

java -cp /home/archive_log.jar  com.XXX.Archive

最后 service crond reload 刷新任务列表

4、遇到的问题总结

开始任务不执行,排查过程如下

1)查看/var/log/cron有输出

2)查看/var/spool/mail/root提示java命令不识别(JAVA_HOME已经定义)

于是在archive_log.sh中加入

 

JAVA_HOME=/usr/bin/jdk1.7.0_51/
PATH=$JAVA_HOME/bin:$HADOOP_HOME/bin:$PATH
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
export JAVA_HOME HADOOP_HOME PATH CLASSPATH

另外开始写成java -cp archive_log.jar com.XXX.Archive提示找不到main class,-cp写成绝对路径即可

在实际测试过程可能遇到业务进程将Mysql连接占满,导致检测业务无法获取连接的情况,此时需要在检测代码中持有一个连接不关闭,并运行为守护进程。

分享到:
评论

相关推荐

    linux实现定时备份mysql数据库的简单方法

    在Linux环境中,定期备份MySQL数据库是一项重要的维护任务,可以确保数据的安全性和可恢复性。本文将详细介绍如何在Linux上设置一个简单的定时备份方案,适用于那些希望自动化MySQL数据库备份的用户。 首先,确保你...

    分布式mysql集群搭建步骤

    - `df -hl`: 查看磁盘空间使用情况。 - `tar -zxvf /文件目录/文件名.tar.gz -C /目标目录/`: 在指定位置解压缩文件。 #### 五、压缩文件解压方式 - `*.tar`: 使用`tar –xvf`解压。 - `*.gz`: 使用`gzip -d`或`...

    在CentOS5中安裝Qmail商业邮件系統

    在 CentOS 5 中安装 Qmail 商业邮件系统是一项复杂但重要的任务,因为它涉及到构建一个功能齐全、安全且高效的电子邮件基础设施。Qmail 是一款知名的邮件传输代理(MTA),以其稳定性和安全性著称,适合企业级应用。...

    shell脚本100例.pdf

    通过crontab配置定时任务,可以实现数据的定期备份。这一点对于保障数据安全具有重要意义。 四、软件部署 本书还包含了如何使用shell脚本一键部署LNMP(Linux、Nginx、MySQL和PHP)环境的实例。通过yum工具来安装...

    shell监控脚本 准备工作分享

    6. **设置cron任务**:利用cron定时任务系统安排监控脚本的执行。编辑用户的crontab(`crontab -e`),根据需要监控的频率设定每个脚本的执行时间。例如,`chk_ping.sh`每分钟执行一次,检查网络连通性;`chk_df.sh`...

    sphinx社区全文搜索平台配置手册.pdf

    索引策略包括一次全量索引的初始化,然后通过crontab定时任务每5分钟重建一次增量索引,不与主索引合并。每天凌晨3:30会生成一次前一天的增量索引,并合并到主索引中。主索引存储在磁盘目录/data/sphdata,而增量...

    shell脚本100例.docx

    - `crontab -e`:编辑定时任务表,设定每周五凌晨3点执行备份脚本。 #### 4. 一键部署LNMP(RPM包版本) - **目标**:自动化部署 LNMP (Linux, Nginx, MySQL, PHP) 环境。 - **适用环境**:适用于 CentOS 7.2 或 ...

    linux笔记

    分配磁盘空间,可以选择“动态分配”或“固定大小”。 5. 设置完毕后保存配置,虚拟机创建完成。 ##### 1.3 安装操作系统 - **步骤**: 1. 下载所需Linux发行版的ISO镜像文件,如CentOS 6.x的ISO镜像。 2. 在...

    1456页Linux学习笔记(从入门到进阶).docx

    - **任务调度**:教授如何使用crontab等工具来安排定时任务。 #### 二十五、Linux启动流程 - **知识点概述**: - **启动过程详解**:详细解释从开机到系统完全启动的整个流程。 - **故障修复**:提供一系列故障...

    Linux Web服务器配置.rar

    9. **自动化运维**:使用工具如`systemd`服务单元文件自动化启动和管理进程,利用`crontab`进行定时任务。 10. **监控与备份**:部署监控系统(如Nagios、Zabbix)监控服务器状态,定期备份数据以防意外丢失。 在...

    (LAMP)->1之linux安装与操作

    通过命令行,我们可以监控系统状态,如使用top或htop查看系统资源占用,用df和du检查磁盘空间,使用crontab设置定时任务等。 总的来说,"LAMP->1之linux安装与操作"是一个全面学习Linux基础和搭建Web服务器平台的...

    运维常用工具和命令

    - **应用场景**: 监控磁盘空间使用情况,帮助识别占用大量空间的文件或目录。 **7. 查看磁盘信息** - **命令**: `df -h`。 - **输出**: 显示文件系统的磁盘空间使用情况。 - **应用场景**: 监控磁盘空间使用情况,...

    sphinx部署手册.docx

    使用 `crontab -e` 编辑 cron 表,添加定期运行 `indexer` 的任务。 ```bash */5 * * * * indexer --all --rotate --config /etc/sphinxsearch/sphinx.conf > /dev/null 2>&1 ``` 这将在每五分钟执行一次索引的更新...

    【PDF版本】老男孩教育Linux高端运维及云计算架构师-就业班20170513V9.pdf

    - **Linux定时任务**:学会使用crontab等工具实现任务调度。 - **用户管理**:掌握用户账户的创建、删除、修改权限等操作。 - **磁盘与文件系统**:了解Linux下的磁盘管理和文件系统类型。 - **sed命令**:学习使用...

    Linux deploy 32位系统 怎么安装宝塔怎么安装linux系统安装宝塔后搭建网站

    1. **优化内存**:由于手机内存限制,可能需要停用不必要的Android服务,利用`crontab`定时任务控制电量和性能。 2. **数据挂载**:为了访问Android文件系统,可以在Linux Deploy中配置挂载点,如将`/storage/...

    Linux系统常用命令

    - `df`: 显示磁盘空间使用情况。 - `ps`: 显示当前系统中运行的进程信息。 - `top`: 实时显示系统中各个进程的资源占用状况。 - `kill`: 终止指定进程。 - `killall`: 终止所有指定名称的进程。 - `w`: 查看...

    ceotos搭建高效率的web环境

    - **自定义分区**:虽然不是必须的,但对于熟悉Linux分区机制的用户来说,可以考虑自定义分区来更好地控制磁盘空间分配。例如,可以单独为/home目录或者/tmp目录创建分区,以便于管理不同类型的文件。 ##### 2. ...

    linux服务器的一些知识点.pdf

    查看和管理定时任务 **命令:** - `crontab -e`:编辑当前用户的cron表。 - `crontab -l`:列出当前用户的cron表。 #### 36. 安装和配置MySQL **步骤:** 1. **安装MySQL**: - `sudo apt-get install mysql-...

Global site tag (gtag.js) - Google Analytics