又犯了一个错误,MySQL的,

lower_case_table_names=1这个参数一定要在安装完mysql后改为1.不然,以后有肯能会出现,

Error was: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Duplicate column name 'groupl

参考 shell自动收集服务器硬件系统信息通过web页面显示

有几个地方要注意一下
1.php
php 500 
yum -y install php-mysql php-gd php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc 
php.ini 
修改php.ini配置文件,error_reporting = E_ALL & ~E_NOTICE
在php.ini中设置date.timezone的值为PRC,设置好以后的为:date.timezone=PRC
2.mysql
1)mysql不要使用root
2)如果通过ansible执行的话,客户端没有安装mysql客户端,需要安装
yum -y install mysql,还需要覆盖my.cnf
cat /etc/my.cnf
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
lower_case_table_names=1
default-character-set = utf8
character_set_server = utf8
default-storage-engine=InnoDB
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
max_allowed_packet=100M
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
主要是字符集的问题
3)如果是编译安装mysql,那么用which mysql
3.建立数据库
CREATE TABLE `systeminfo` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `ip_info` varchar(50) NOT NULL, 
   `cpu_info` varchar(50) NOT NULL,
  `disk_info` varchar(50) NOT NULL,
  `mem_info` varchar(50) NOT NULL,
  `service_info` varchar(200) NOT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `ip_info` (`ip_info`),
  UNIQUE KEY `ip_info_2` (`ip_info`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
4.修改过后的脚本
cat systeminfo.sh
#!/bin/bash
#auto get system info
echo -e "\033[34m\033[1m"
cat <<EOF
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++Welcome to use system Coolect++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
EOF
ip_info=`ifconfig|awk '/inet addr/ {gsub(/:/," ");print $3}'|grep -v 127.0.0.1`
cpu_info1=`cat /proc/cpuinfo |grep "model name" |awk -F: '{print $2}'|sed 's/^//g'|awk '{print $1,$3,$4,$NF}'`
cpu_info2=`cat /proc/cpuinfo |grep "physical id"|sort|uniq -c|wc -l`
cpu_info3=`grep processor /proc/cpuinfo|wc -l`
serv_info=`hostname |tail -1`
disk_xinfo=`fdisk -l|grep "Disk"| grep -v "identifier"|awk '{print $2,$3,$4}'| sed 's/,//g'`
disk_info=`fdisk -l|grep "Disk"| grep -v "identifier"|awk '{print $2,$3,$4}'| sed 's/,//g'|grep -v mapper|awk -F ' '  '{print $2}'|awk '{sum += $1} END {print sum}'`
mem_info=`free -m|awk '/Mem/ {printf ("%.f\n",$2/1024)}'`
services=(nginx gitlab ntpd tomcat mysql ldap nexus)
for var in ${services[@]}
do
        num=`ps -ef|grep $var|grep -v grep|wc -l`
    if [ $num -gt 1 ];then
        service_info=${var}" "${service_info}

    fi
done
echo -e "\033[32m-------------------------------------\033[1m"
echo IPADDR:${ip_info}
echo HOSTNAME:$serv_info
echo CPU_INFO:${cpu_info1}X${cpu_info2}
echo Disk_INFO:$disk_info
echo MEM_INFO:$mem_info
echo service_info:$service_info
#echo -e -n "\033[36m You want to write the data to the databases?\033[1m";read ensure
#if [ "$ensure" == "yes" -o "$ensure" == "y" -o "$ensure" == "Y" ];then

echo "------------------------"
result=`which mysql`
if [ $? -ne 0 ];then
   yum -y install mysql
   result=`which mysql`
fi
$result -uxx -pxx -h xx -D xx -e "insert into systeminfo values('','${ip_info}','${cpu_info3}"核"','$disk_info"G"','$mem_info"G"','$service_info');"
#else
if [ $? -ne 0 ];then
echo "what exit"
exit 1
fi
5.通过ansible调用hosts分组执行 
ansible xx -m script -a 'systeminfo.sh'
6.php环境搭建
php环境用yum搭建,比如yum -y install php php-fpm,启动/etc/init.d/php-fpm
nginx配置文件
server {
        listen  80;
        server_name     xx;
        access_log      /opt/log/check.log;
        error_log       /opt/log/check.error;
        root /opt/check;
        location / {
         index index.php index.html index.htm;
         allow xx/24;
         deny all;
    }
    location ~ ^/(p_w_picpaths|javascript|js|css|flash|media|static)/ {
expires 30d;
}

location ~ .php$ {
            fastcgi_pass 127.0.0.1:9000;
            fastcgi_index index.php;
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            include fastcgi_params;
        }

location ~ /.ht {
            deny all;
        }

}
7.php页面显示
<html>
<head>
<title>服务器管理统计</title>
</head>
<body>
<?php
$con = mysql_connect("xx","xx","xx");
if (!$con)
  {
  die('数据库连接失败: ' . mysql_error());
  }
  else
  {
  mysql_query("SET NAMES UTF8");
  mysql_query("set character_set_client=utf8"); 
  mysql_query("set character_set_results=utf8");
  mysql_select_db("xx", $con);
  $result = mysql_query("SELECT * FROM systeminfo inet_aton(ip_info)");
  //在表格中输出显示结果 
  echo "<table border='1' >
<tr>
<th>主机IP</th>
<th>主机名</th>
<th>cup型号</th>
<th>磁盘</th>
<th>内存</th>
<th>负载</th>
<th>机房</th>
</tr>";
  while($row = mysql_fetch_array($result))
  {
 echo "<tr>";
 echo "<td>" . $row['ip_info'] . "</td>";
 echo "<td>" . $row['serv_info'] . "</td>";
 echo "<td>" . $row['cpu_info'] . "</td>";
 echo "<td>" . $row['disk_info'] . "</td>";
 echo "<td>" . $row['mem_info'] . "</td>";
 echo "<td>" . $row['load_info'] . "</td>";
 echo "<td>" . $row['mark_info'] . "</td>";
 echo "</tr>";
  }
  echo "</table>";
}
mysql_close($con);
?>
</body>