shell脚本获取CPU利用率并记录到远程服务器的MYSQL数据库
2015-03-20 23:33
459 查看
一、shell脚本讲解
其实很简单,首先定义各个变量,主要有mysql的ip、 username、password以及database、table。之后通过date以指定格式输出得到timestamp格式的时间;利用top和管道命令得到cpu的空闲率,进而得到cpu的使用率。之后利用mysql远程登录到数据库,将刚刚收集的数据插入到数据库中即可。代码如下:
#!/bin/bash mysql_ip="192.168.1.200" mysql_username="root" mysql_pwd="p@5sw0rd" mysql_database="web01" monitor_table="cpu" time=$(date '+%Y-%m-%d %H:%M:%S') cpu_idle=$(top -b -n 1 | grep Cpu | awk '{print $5}' | cut -f 1 -d .) cpu=$(echo 100 - $cpu_idle|/usr/bin/bc) echo $cpu echo $cpu_idle echo $time /usr/bin/mysql -h $mysql_ip -u$mysql_username -p$mysql_pwd $mysql_database -e "insert into $monitor_table values ('','$time','$cpu')";
二、mysql中报错无法在该IP登陆解决办法
首先登陆mysql:mysql -u root -pxxxx
输入:
grant all privileges on your_database.* to root@'192.168.1.200' identified by 'p@5sw0rd'
代码解释:将your_database数据库中的所有表的全部权限授权给root用户,允许root用户在192.168.1.200这个ip以密码‘p@5sw0rd’进行登陆;
三、运行几遍脚本,即可在数据库中看到插入的结果
/bin/bash cpu.shmysql> select * from cpu;
+----+---------------------+-----+
| id | time | cpu |
+----+---------------------+-----+
| 1 | 2015-03-16 15:58:32 | 1 |
| 2 | 2015-03-16 15:58:33 | 1 |
| 3 | 2015-03-16 15:58:34 | 1 |
| 4 | 2015-03-16 15:58:35 | 1 |
| 5 | 2015-03-16 15:58:37 | 1 |
| 6 | 2015-03-16 15:58:38 | 1 |
| 7 | 2015-03-16 15:58:39 | 1 |
| 8 | 2015-03-16 15:58:40 | 1 |
| 9 | 2015-03-16 15:58:41 | 1 |
+----+---------------------+-----+
9 rows in set (0.00 sec)
之后可以使用 crontab -e 来加入到定时任务。再之后就可以在web中查询数据库然后展示CPU利用率了。
相关文章推荐
- shell 脚本获取远程服务器信息并发送邮件
- PowerShell脚本远程获取多台服务器系统状态(CPU、内存、运行服务)
- 获取服务器信息shell脚本:内存大小,cpu型号,系统发行版本,硬盘个数及大小等
- 获取服务器信息shell脚本:内存大小,cpu型号,系统发行版本,硬盘个数及大小等
- 获取服务器信息shell脚本:内存大小,cpu型号,系统发行版本,硬盘个数及大小等
- Java 连接远程Linux 服务器执行 shell 脚本查看 CPU、内存、硬盘信息
- shell脚本批量获取远程服务器多个项目的日志
- linux获取cpu利用率shell脚本
- Java 连接远程Linux 服务器执行 shell 脚本查看 CPU、内存、硬盘信息
- Shell脚本监控CPU、内存和硬盘利用率
- CentOS Linux自动备份MySQL数据库到远程FTP服务器并删除指定日期前的备份Shell脚本(一)
- nagios中使用shell脚本监控Cpu利用率
- 获取服务器信息的Shell脚本分享(ubuntu、centos测试通过)
- shell,python获取当前路径(脚本的当前路径) (aso项目记录)
- python获取内存和cpu利用率记录日志文件
- 检测CPU利用率的Shell脚本
- Linux下自动备份MySQL数据库并上传到远程FTP服务器且删除指定日期前的备份Shell脚本
- 获取服务器信息的Shell脚本分享(ubuntu、centos测试通过)
- Linux下自动备份MySQL数据库并上传到远程FTP服务器且删除指定日期前的备份Shell脚本
- Ganymed SSH-2 for Java系列7之删除远程服务器上的非空目录(运用执行shell脚本的方式)