shell脚本实现10秒保存一次mysql processlis

2019-01-09  本文已影响12人  SailSea

10秒执行一次的crontab:

由于cron时间表达式最多支持到分钟级别的设定,所以加了多个延时任务来达到每10秒一次目的。不想写这么多定时任务,也可以写个循环shell脚本循环6次,每次阻塞10秒来达到目的。

* * * * * /usr/local/show_processlist.sh
* * * * * sleep 10;/usr/local/show_processlist.sh
* * * * * sleep 20;/usr/local/show_processlist.sh
* * * * * sleep 30;/usr/local/show_processlist.sh
* * * * * sleep 40;/usr/local/show_processlist.sh
* * * * * sleep 50;/usr/local/show_processlist.sh

shell脚本:

按天分文件保存数据,只保留30天

#!/bin/bash
tdate=/data/processlist_histroy/processlist_histroy_$(date "+%Y%m%d").log;
echo --------------------$(/bin/date)--------------------- >> $tdate
/data/mysqldatasp/bin/mysql  -u root -p'******' -h10.66.95.136 -P3301 -Bse "show full processlist" >> $tdate

#只保留30天的数据
find /data/processlist_histroy -mtime +30 -type f -name 'processlist_histroy_*.log' -exec rm -rf {} \;
上一篇 下一篇

猜你喜欢

热点阅读