又犯了一个错误,MySQL的,
lower_case_table_names=1这个参数一定要在安装完mysql后改为1.不然,以后有肯能会出现,
Error was: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Duplicate column name 'groupl
<code>有几个地方要注意一下</code>
<code>1.php</code>
<code>php 500 </code>
<code>yum -y </code><code>install</code> <code>php-mysql php-gd php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc </code>
<code>php.ini </code>
<code>修改php.ini配置文件,error_reporting = E_ALL & ~E_NOTICE</code>
<code>在php.ini中设置</code><code>date</code><code>.timezone的值为PRC,设置好以后的为:</code><code>date</code><code>.timezone=PRC</code>
<code>2.mysql</code>
<code>1)mysql不要使用root</code>
<code>2)如果通过ansible执行的话,客户端没有安装mysql客户端,需要安装</code>
<code>yum -y </code><code>install</code> <code>mysql,还需要覆盖my.cnf</code>
<code>cat</code> <code>/etc/my</code><code>.cnf</code>
<code>[mysqld]</code>
<code>datadir=</code><code>/var/lib/mysql</code>
<code>socket=</code><code>/var/lib/mysql/mysql</code><code>.sock</code>
<code>user=mysql</code>
<code>lower_case_table_names=1</code>
<code>default-character-</code><code>set</code> <code>= utf8</code>
<code>character_set_server = utf8</code>
<code>default-storage-engine=InnoDB</code>
<code># Disabling symbolic-links is recommended to prevent assorted security risks</code>
<code>symbolic-links=0</code>
<code>max_allowed_packet=100M</code>
<code>[mysqld_safe]</code>
<code>log-error=</code><code>/var/log/mysqld</code><code>.log</code>
<code>pid-</code><code>file</code><code>=</code><code>/var/run/mysqld/mysqld</code><code>.pid</code>
<code>主要是字符集的问题</code>
<code>3)如果是编译安装mysql,那么用</code><code>which</code> <code>mysql</code>
<code>3.建立数据库</code>
<code>CREATE TABLE `systeminfo` (</code>
<code> </code><code>`</code><code>id</code><code>` int(11) NOT NULL AUTO_INCREMENT,</code>
<code> </code><code>`ip_info` varchar(50) NOT NULL, </code>
<code> </code><code>`cpu_info` varchar(50) NOT NULL,</code>
<code> </code><code>`disk_info` varchar(50) NOT NULL,</code>
<code> </code><code>`mem_info` varchar(50) NOT NULL,</code>
<code> </code><code>`service_info` varchar(200) NOT NULL,</code>
<code> </code><code>PRIMARY KEY (`</code><code>id</code><code>`),</code>
<code> </code><code>UNIQUE KEY `ip_info` (`ip_info`),</code>
<code> </code><code>UNIQUE KEY `ip_info_2` (`ip_info`)</code>
<code>) ENGINE=MyISAM DEFAULT CHARSET=utf8;</code>
<code>4.修改过后的脚本</code>
<code>cat</code> <code>systeminfo.sh</code>
<code>#!/bin/bash</code>
<code>#auto get system info</code>
<code>echo</code> <code>-e </code><code>"\033[34m\033[1m"</code>
<code>cat</code> <code><<EOF</code>
<code>+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++</code>
<code>++++++++++++++++++++Welcome to use system Coolect++++++++++++++++++++++++++++</code>
<code>EOF</code>
<code>ip_info=`</code><code>ifconfig</code><code>|</code><code>awk</code> <code>'/inet addr/ {gsub(/:/," ");print $3}'</code><code>|</code><code>grep</code> <code>-</code><code>v</code> <code>127.0.0.1`</code>
<code>cpu_info1=`</code><code>cat</code> <code>/proc/cpuinfo</code> <code>|</code><code>grep</code> <code>"model name"</code> <code>|</code><code>awk</code> <code>-F: </code><code>'{print $2}'</code><code>|</code><code>sed</code> <code>'s/^//g'</code><code>|</code><code>awk</code> <code>'{print $1,$3,$4,$NF}'</code><code>`</code>
<code>cpu_info2=`</code><code>cat</code> <code>/proc/cpuinfo</code> <code>|</code><code>grep</code> <code>"physical id"</code><code>|</code><code>sort</code><code>|</code><code>uniq</code> <code>-c|</code><code>wc</code> <code>-l`</code>
<code>cpu_info3=`</code><code>grep</code> <code>processor </code><code>/proc/cpuinfo</code><code>|</code><code>wc</code> <code>-l`</code>
<code>serv_info=`</code><code>hostname</code> <code>|</code><code>tail</code> <code>-1`</code>
<code>disk_xinfo=`</code><code>fdisk</code> <code>-l|</code><code>grep</code> <code>"Disk"</code><code>| </code><code>grep</code> <code>-</code><code>v</code> <code>"identifier"</code><code>|</code><code>awk</code> <code>'{print $2,$3,$4}'</code><code>| </code><code>sed</code> <code>'s/,//g'</code><code>`</code>
<code>disk_info=`</code><code>fdisk</code> <code>-l|</code><code>grep</code> <code>"Disk"</code><code>| </code><code>grep</code> <code>-</code><code>v</code> <code>"identifier"</code><code>|</code><code>awk</code> <code>'{print $2,$3,$4}'</code><code>| </code><code>sed</code> <code>'s/,//g'</code><code>|</code><code>grep</code> <code>-</code><code>v</code> <code>mapper|</code><code>awk</code> <code>-F </code><code>' '</code> <code>'{print $2}'</code><code>|</code><code>awk</code> <code>'{sum += $1} END {print sum}'</code><code>`</code>
<code>mem_info=`</code><code>free</code> <code>-m|</code><code>awk</code> <code>'/Mem/ {printf ("%.f\n",$2/1024)}'</code><code>`</code>
<code>services=(nginx gitlab ntpd tomcat mysql ldap nexus)</code>
<code>for</code> <code>var </code><code>in</code> <code>${services[@]}</code>
<code>do</code>
<code> </code><code>num=`</code><code>ps</code> <code>-ef|</code><code>grep</code> <code>$var|</code><code>grep</code> <code>-</code><code>v</code> <code>grep</code><code>|</code><code>wc</code> <code>-l`</code>
<code> </code><code>if</code> <code>[ $num -gt 1 ];</code><code>then</code>
<code> </code><code>service_info=${var}</code><code>" "</code><code>${service_info}</code>
<code> </code><code>fi</code>
<code>done</code>
<code>echo</code> <code>-e </code><code>"\033[32m-------------------------------------\033[1m"</code>
<code>echo</code> <code>IPADDR:${ip_info}</code>
<code>echo</code> <code>HOSTNAME:$serv_info</code>
<code>echo</code> <code>CPU_INFO:${cpu_info1}X${cpu_info2}</code>
<code>echo</code> <code>Disk_INFO:$disk_info</code>
<code>echo</code> <code>MEM_INFO:$mem_info</code>
<code>echo</code> <code>service_info:$service_info</code>
<code>#echo -e -n "\033[36m You want to write the data to the databases?\033[1m";read ensure</code>
<code>#if [ "$ensure" == "yes" -o "$ensure" == "y" -o "$ensure" == "Y" ];then</code>
<code>echo</code> <code>"------------------------"</code>
<code>result=`</code><code>which</code> <code>mysql`</code>
<code>if</code> <code>[ $? -</code><code>ne</code> <code>0 ];</code><code>then</code>
<code> </code><code>yum -y </code><code>install</code> <code>mysql</code>
<code> </code><code>result=`</code><code>which</code> <code>mysql`</code>
<code>fi</code>
<code>$result -uxx -pxx -h xx -D xx -e </code><code>"insert into systeminfo values('','${ip_info}','${cpu_info3}"</code><code>核</code><code>"','$disk_info"</code><code>G</code><code>"','$mem_info"</code><code>G</code><code>"','$service_info');"</code>
<code>#else</code>
<code>echo</code> <code>"what exit"</code>
<code>exit</code> <code>1</code>
<code>5.通过ansible调用hosts分组执行 </code>
<code>ansible xx -m script -a </code><code>'systeminfo.sh'</code>
<code>6.php环境搭建</code>
<code>php环境用yum搭建,比如yum -y </code><code>install</code> <code>php php-fpm,启动</code><code>/etc/init</code><code>.d</code><code>/php-fpm</code>
<code>nginx配置文件</code>
<code>server {</code>
<code> </code><code>listen 80;</code>
<code> </code><code>server_name xx;</code>
<code> </code><code>access_log </code><code>/opt/log/check</code><code>.log;</code>
<code> </code><code>error_log </code><code>/opt/log/check</code><code>.error;</code>
<code> </code><code>root </code><code>/opt/check</code><code>;</code>
<code> </code><code>location / {</code>
<code> </code><code>index index.php index.html index.htm;</code>
<code> </code><code>allow xx</code><code>/24</code><code>;</code>
<code> </code><code>deny all;</code>
<code> </code><code>}</code>
<code> </code><code>location ~ ^/(images|javascript|js|css|flash|media|static)/ {</code>
<code>expires 30d;</code>
<code>}</code>
<code>location ~ .php$ {</code>
<code> </code><code>fastcgi_pass 127.0.0.1:9000;</code>
<code> </code><code>fastcgi_index index.php;</code>
<code> </code><code>fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;</code>
<code> </code><code>include fastcgi_params;</code>
<code> </code><code>}</code>
<code>location ~ /.ht {</code>
<code> </code><code>deny all;</code>
<code>7.php页面显示</code>
<code><html></code>
<code><</code><code>head</code><code>></code>
<code><title>服务器管理统计<</code><code>/title</code><code>></code>
<code><</code><code>/head</code><code>></code>
<code><body></code>
<code><?php</code>
<code>$con = mysql_connect(</code><code>"xx"</code><code>,</code><code>"xx"</code><code>,</code><code>"xx"</code><code>);</code>
<code>if</code> <code>(!$con)</code>
<code> </code><code>{</code>
<code> </code><code>die(</code><code>'数据库连接失败: '</code> <code>. mysql_error());</code>
<code> </code><code>}</code>
<code> </code><code>else</code>
<code> </code><code>mysql_query(</code><code>"SET NAMES UTF8"</code><code>);</code>
<code> </code><code>mysql_query(</code><code>"set character_set_client=utf8"</code><code>); </code>
<code> </code><code>mysql_query(</code><code>"set character_set_results=utf8"</code><code>);</code>
<code> </code><code>mysql_select_db(</code><code>"xx"</code><code>, $con);</code>
<code> </code><code>$result = mysql_query(</code><code>"SELECT * FROM systeminfo inet_aton(ip_info)"</code><code>);</code>
<code> </code><code>//</code><code>在表格中输出显示结果 </code>
<code> </code><code>echo</code> <code>"<table border=</code><code>'1'</code> <code>></code>
<code><</code><code>tr</code><code>></code>
<code><th>主机IP<</code><code>/th</code><code>></code>
<code><th>主机名<</code><code>/th</code><code>></code>
<code><th>cup型号<</code><code>/th</code><code>></code>
<code><th>磁盘<</code><code>/th</code><code>></code>
<code><th>内存<</code><code>/th</code><code>></code>
<code><th>负载<</code><code>/th</code><code>></code>
<code><th>机房<</code><code>/th</code><code>></code>
<code><</code><code>/tr</code><code>>";</code>
<code> </code><code>while</code><code>($row = mysql_fetch_array($result))</code>
<code> </code><code>echo</code> <code>"<tr>"</code><code>;</code>
<code> </code><code>echo</code> <code>"<td>"</code> <code>. $row[</code><code>'ip_info'</code><code>] . </code><code>"</td>"</code><code>;</code>
<code> </code><code>echo</code> <code>"<td>"</code> <code>. $row[</code><code>'serv_info'</code><code>] . </code><code>"</td>"</code><code>;</code>
<code> </code><code>echo</code> <code>"<td>"</code> <code>. $row[</code><code>'cpu_info'</code><code>] . </code><code>"</td>"</code><code>;</code>
<code> </code><code>echo</code> <code>"<td>"</code> <code>. $row[</code><code>'disk_info'</code><code>] . </code><code>"</td>"</code><code>;</code>
<code> </code><code>echo</code> <code>"<td>"</code> <code>. $row[</code><code>'mem_info'</code><code>] . </code><code>"</td>"</code><code>;</code>
<code> </code><code>echo</code> <code>"<td>"</code> <code>. $row[</code><code>'load_info'</code><code>] . </code><code>"</td>"</code><code>;</code>
<code> </code><code>echo</code> <code>"<td>"</code> <code>. $row[</code><code>'mark_info'</code><code>] . </code><code>"</td>"</code><code>;</code>
<code> </code><code>echo</code> <code>"</tr>"</code><code>;</code>
<code> </code><code>echo</code> <code>"</table>"</code><code>;</code>
<code>mysql_close($con);</code>
<code>?></code>
<code><</code><code>/body</code><code>></code>
本文转自 liqius 51CTO博客,原文链接:http://blog.51cto.com/szgb17/1783476,如需转载请自行联系原作者