August 7, 2010
rsync从linux到linux的文件同步备份
"\u003cp\u003e\u003cstrong\u003e一、环境\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003e需要备份文件的服务器(服务器端):192.168.1.201 (RHEL 5)\u003c/p\u003e\n\u003cp\u003e接收备份文件的服务器(客户端):192.168.1.202 (CENTOS 5)\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e二、安装配置\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003e1.服务器端的配置\u003c/p\u003e\n\u003cp\u003eA、采用系统默认安装的rsync 编辑/etc/rsyncd.conf文件,如果没有则新建一个。 vi /etc/rsyncd.conf #[globale] strict modes= yes #check passwd file port= 873 #default port logfile= /var/log/rsyncd.log pidfile= /var/run/rsyncd.pid max connections= 4 #[modules] [testlink] #备份模块 uid= root gid= root path= /usr/local/apache/htdocs/testlink/upload_area #要备份的目录 read only= no host allow= * auth users= wwyhy secrets file= …\u003c/p\u003e"
August 7, 2010
Linux/FreeBSD下配置Subversion同步Web文件夹手记
"\u003cp\u003e\u003cstrong\u003e下载安装subversion-1.6.9.tar.gz\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003e1\u0026gt; svnserve配置\u003c/p\u003e\n\u003cp\u003e1.1 创建仓库存放目录\u003c/p\u003e\n\u003cp\u003emkdir -p /opt/svn/repos\u003c/p\u003e\n\u003cp\u003echown -R svn:svn /opt/svn/\u003c/p\u003e\n\u003cp\u003e2\u0026gt; 启动svn\u003c/p\u003e\n\u003cp\u003esvnserve -d –listen-host=0.0.0.0 –listen-port=3190 -r /data/repos\u003c/p\u003e\n\u003cp\u003e3\u0026gt; 创建SVN仓库\u003c/p\u003e\n\u003cp\u003esvnadmin create /opt/svn/repos/abc\u003c/p\u003e\n\u003cp\u003evim /opt/svn/repos/abc/conf/passwd\u003c/p\u003e\n\u003cp\u003e4\u0026gt; 新增访问用户名和密码\u003c/p\u003e\n\u003cp\u003e格式如下\u003c/p\u003e\n\u003cp\u003e[users]\u003c/p\u003e\n\u003cp\u003eroger=123456#用户名=密码\u003c/p\u003e\n\u003cp\u003e5\u0026gt; 修改 svnserve.conf\u003c/p\u003e\n\u003cp\u003e#vi /opt/svn/repos/abc/conf/svnserve.conf\u003c/p\u003e\n\u003cp\u003e#password-db = passwd为password-db = passwd //使用密码文件\u003c/p\u003e\n\u003cp\u003e#anon-access = read 为 anon-access = read //匿名可以读取,如果设置必须输入密码才能 …\u003c/p\u003e"
August 3, 2010
Cacti进阶应用一:汇总流量图-将数据合并后作图
"\u003cp\u003e在使用Cacti方便快捷的建立监控图时,往往根据实际应用必须监控几台甚至上百台服务器的汇总流量图来观察该应用服务器组的总流量等指标。\u003c/p\u003e\n\u003cp\u003e这里我们就来介绍如何用cacit快速的建立汇总流量图,其他汇总图建立方法相同;\n\u003cstrong\u003e一、创建CDEF\u003c/strong\u003e\n1、点击cacti左边菜单中的graph Management下的CDEFs\n2、点击CDEF‘s右边的add,增加一个名为Turn All Data into Bits项\u003c/p\u003e\n\u003cp\u003e3、在CDEF Items表格中点击add,输入如下图:依次创建以下三个Items;\n[\u003cimg src=\"https://blogstatic.haohtml.com//uploads/2023/09/4.jpg\" alt=\"\"\u003e][1]\u003c/p\u003e\n\u003cp\u003e[\u003cimg src=\"https://blogstatic.haohtml.com//uploads/2023/09/5.jpg\" alt=\"\"\u003e][2]\u003c/p\u003e\n\u003cp\u003e[\u003cimg src=\"https://blogstatic.haohtml.com//uploads/2023/09/6.jpg\" alt=\"\"\u003e][3]\u003c/p\u003e\n\u003cp\u003e4、完成后如下图:\n[\u003cimg src=\"https://blogstatic.haohtml.com//uploads/2023/09/7.jpg\" alt=\"\"\u003e][4]\nCDEF item创建完成。\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e二、创建new graph\u003c/strong\u003e\n1、点击cacti左边菜单中的graph Management\u003c/p\u003e\n\u003cp\u003e2、在右边点击add出现如下图,直接选择create\n[\u003cimg src=\"https://blogstatic.haohtml.com//uploads/2023/09/1.jpg\" alt=\"\"\u003e][5]\u003c/p\u003e\n\u003cp\u003e3、在Graph Configuration表格中的title输入新图的名字;如IDC all interface traffic in(bits/sec)\u003c/p\u003e\n\u003cp\u003e4、表格最下的选项Vertical Label是纵轴的标识,这里我们填入Bits Per …\u003c/p\u003e"
August 1, 2010
MySQL模式 : Strict Mode
"\u003cp\u003e\u003cstrong\u003eI. Strict Mode阐述\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003e根据 mysql5.0以上版本 strict mode (STRICT_TRANS_TABLES) 的限制:\u003c/p\u003e\n\u003cp\u003e1).不支持对not null字段插入null值\u003c/p\u003e\n\u003cp\u003e2).不支持对自增长字段插入”值,可插入null值\u003c/p\u003e\n\u003cp\u003e3).不支持 text 字段有默认值\u003c/p\u003e\n\u003cp\u003e看下面代码:(第一个字段为自增字段)\u003c/p\u003e\n\u003cp\u003e$query=”insert into demo values(”,’$firstname’,’$lastname’,’$sex’)”;\u003c/p\u003e\n\u003cp\u003e上边代码只在非strict模式有效。\u003c/p\u003e\n\u003cp\u003e$query=”insert into demo values(NULL,’$firstname’,’$lastname’,’$sex’)”;\u003c/p\u003e\n\u003cp\u003e上边代码只在strict模式有效。把空值”换成了NULL.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eII.让数据库支持Strict Mode\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003e1.对数据库结构进行以下改进来支持strict mode:\u003c/p\u003e\n\u003col\u003e\n\u003cli\u003e\n\u003cp\u003e给所有not null字段都设置非null默认值,字符串默认值为 ”,数值默认值为 0,日期默认值为 ‘0000-00-00 00:00:00’\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e去掉text字段的默认值\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e规范化改进: …\u003c/p\u003e\u003c/li\u003e\u003c/ol\u003e"
August 1, 2010
Cacti的常用插件
"\u003cp\u003e\u003cstrong\u003e一、Cacti的插件框架PIA\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e1、PIA\u003c/strong\u003e\n要想让Cacti支持更多的插件,那么首先要安装PIA(Cacti-Plugin),下面是PIA与其它插件之间的框架图\n\u003ca href=\"http://blog.haohtml.com/wp-content/uploads/2010/08/cacti-pia.jpg\"\u003e\u003cimg src=\"http://blog.haohtml.com/wp-content/uploads/2010/08/cacti-pia.jpg\" alt=\"\"\u003e\u003c/a\u003e\nPIA的下载地址:http://www.cactiusers.org/index.php\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"http://blog.haohtml.com/wp-content/uploads/2010/08/cacti-plugin-0.8.7g-PA-v2.8.tar.gz\"\u003ecacti-plugin-0.8.7g-PA-v2.8.tar\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e将压缩包里的文件解压放在cacti目录里,导入pa.sql脚本.然后在”User Management”里的admin用户启用”plugin Management “权限.这时可以在左侧菜单看到”\u003cstrong\u003ePlugin Management\u003c/strong\u003e“菜单.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e2、PIA的安装\u003c/strong\u003e\n主要有以下几个步骤\ntar -zvxf cacti-plugin-arch.tar.gz\npatch -PI -N \u0026lt; cacti-plugin-arch.diff\nmysql -ucacti -p2010 \u0026lt; pa.sql\n修改includesl/config.php下的\n$canfiig[‘url_path’] = “/cacti/”;\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e二、Cacti的常用插件\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003e1、Thold插件\u003c/p\u003e\n\u003cp\u003e功能:基于上下界线 …\u003c/p\u003e"
July 30, 2010
snmpwalk常用语法
"\u003cp\u003e在日常监控中,经常会用到snmp服务,而snmpwalk命令则是测试系统各种信息最有效的方法,现总结一些常用的方法如下:\u003c/p\u003e\n\u003cp\u003e1、snmpwalk -c public -v 1 -m ALL 192.168.30.49.1.3.6.1.2.1.25.1 得到取得windows端的系统进程用户数等\u003c/p\u003e\n\u003cp\u003e2、snmpwalk -c public -v 1 -mALL 192.168.30.49 .1.3.6.1.2.1.25.2.2 取得系统总内存\u003c/p\u003e\n\u003cp\u003e3、snmpwalk -c public -v 1-m ALL 192.168.30.49 hrSystemNumUsers\u003c/p\u003e\n\u003cp\u003e4、snmpwalk -c public -v 1 -m ALL192.168.30.49 .1.3.6.1.2.1.4.20 取得IP信息\u003c/p\u003e\n\u003cp\u003e5、snmpwalk -v 2c -c public192.168.30.49 system 查看系统信息\u003c/p\u003e\n\u003cp\u003e6、snmpwalk -v 1 192.168.30.49 -c public ifDescr1、snmpwalk -v 2c -c public …\u003c/p\u003e"
July 30, 2010
用cacti来监控windows 服务器,snmp服务在windows的配置
"\u003cp\u003e\u003cstrong\u003e监控客户端windows2003服务器的snmp服务配置(202.96.209.2)\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003e(1)、打开“控制面板”—“添加删除程序”—“添加删除组建”,在“管理和监视工具”中选中“简单网络管理协议(snmp)”,点击“下一步”,开始安装,在安装过程中需要i386文件.\u003c/p\u003e\n\u003cp\u003e(2)、打开“开始”—“程序”—“管理工具”—“服务”,找到“snmp service”,右键打开“属性”,选择“安全”,在“接受团体名称”处,点“添加”,在“团体名称”处写入你的cacti使用的community,选中“接受来自这些主机的snmp数据包”,默认值为“localhost”,点击“编辑”,将“localhost”改为\u003cstrong\u003ecacti监控服务器的实际 ip地址\u003c/strong\u003e.(指定要接收哪些主机的snmp数据,这里要填写上运行cacti程序的服务器ip地址)\u003c/p\u003e\n\u003cp\u003e(3)、还需要安装SNMP Informant-STD 1.6 软件下载地址: \u003ca href=\"http://www.wtcs.org/informant/download.htm\"\u003ehttp://www.wtcs.org/informant/download.htm\u003c/a\u003e\n有防火墙的要开通UDP端口161(可以在cmd命令行下输入:netstat -an 来查看udp协议的161端口 …\u003c/p\u003e"
July 29, 2010
[教程]cacti for windows 安装
"\u003cp\u003e本文章前提为配置好了apache(iis)+php+mysql这些基本的需要。\u003c/p\u003e\n\u003cp\u003e安装snmp服务,需要windows光盘或i386目录的文件。在”安全”标签设置好团体字后重新启动snmp服务。主要防火墙对udp 161开放权限一定要做好,不要将161完全暴露在公网上,最好只对特定的IP或子网开放。(可以用netstat -an命令查看udp协议的161端口是否在监听)\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003ecacti相关软件下载:\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003e1.cacti下载: \u003ca href=\"http://www.cacti.net/downloads/\"\u003ehttp://www.cacti.net/downloads/\u003c/a\u003e\n2.Cygwin下载: \u003ca href=\"http://www.cygwin.com/setup.exe\"\u003ehttp://www.cygwin.com/setup.exe\u003c/a\u003e\n3.rrdtool下载(1.2X): \u003ca href=\"http://www.cacti.net/downloads/rrdtool/win32/\"\u003ehttp://www.cacti.net/downloads/rrdtool/win32/\u003c/a\u003e\n4.net-snmp下载: \u003ca href=\"http://sourceforge.net/projects/net-snmp/files/\"\u003ehttp://sourceforge.net/projects/net-snmp/files/\u003c/a\u003e(注意下载的是net-snmp binaries的EXE安装文件,这里使用win32下的文件)\n5.Spine(原来好像是cactid)下载: …\u003c/p\u003e"
July 27, 2010
用linux上的cacti去监控windows服务器
"\u003cp\u003e另篇相同的教程: \u003ca href=\"http://blog.haohtml.com/index.php/archives/4850\"\u003ehttp://blog.haohtml.com/index.php/archives/4850\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e以前一直用cacti或者mrtg来监控交换机流量,很少用来监控服务器,最近突然有个任务需要监控windows服务器,一般刚装好的cacti,里面的监控设置都是基于交换机和linux的,没有专门监控windows的选择,于是研究了一下,和大家分享一下经验。另外我的cacti是安装的debian linux上,有些安装命令不适合其他linux上,请大家注意。\u003c/p\u003e\n\u003cp\u003e操作系统:debian 5\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e1.安装mysql\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003eapy-get install mysql-server-5.0\u003c/p\u003e\n\u003cp\u003e安装时会提示你输入mysql root密码\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e2.安装apache和php\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003eapt-get install apache2 libapache2-mod-php5 php5 php5-gd php5-mysql php5-cli php5-common php5-snmp php-net-socket\u003c/p\u003e\n\u003cp\u003ephp5-gd是关系到绘图\u003c/p\u003e\n\u003cp\u003ephp5-mysql和数据库有关系\u003c/p\u003e\n\u003cp\u003ephp-net-socket这个有时候cacti …\u003c/p\u003e"
July 27, 2010
PHP Warning: date() [function.date]: It is not safe是什么问题
"\u003cp\u003e\u003cstrong\u003e在用PHP5.3以上的PHP版本时,只要是涉及时间的会报一个”\u003c/strong\u003e PHP Warning: date() [function.date]: It is not safe to rely on the system’s timezone settings. You are \u003cem\u003erequired\u003c/em\u003e to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected ‘UTC’ for ‘8.0/no DST’ instead in **“这样的错。如何解决呢?**\u003cstrong\u003e实际上,从 PHP 5.1.0 ,当对使用date()等函数时,如果timezone设置不正确,在每一次调用时间函数时,都会产生\u003ccode\u003eE_NOTICE\u003c/code\u003e 或者 \u003ccode\u003eE_WARNING\u003c/code\u003e …\u003c/strong\u003e\u003c/p\u003e"
July 27, 2010
FreeBSD7.0安装cacti监控
"\u003cp\u003eFreeBSD 7.0-RELEASE-i386\u003c/p\u003e\n\u003cp\u003e# cd /usr/ports/net-mgmt/net-snmp \u0026amp;\u0026amp; make install clean\n# cd /usr/ports/net-mgmt/cacti \u0026amp;\u0026amp; make install clean\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eucd-snmp不选\u003c/p\u003e\u003c/blockquote\u003e\n\u003cp\u003e# make pretty-print-run-depends-list\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eThis port requires package(s) “mysql-client-5.0.67_1” to run.\u003c/p\u003e\u003c/blockquote\u003e\n\u003cp\u003e# cd /usr/ports/databases/mysql50-server \u0026amp;\u0026amp; make install clean\n# echo ‘mysql_enable=”YES”‘ \u0026raquo; /etc/rc.conf\n# /usr/local/etc/rc.d/mysql-server start\n# mysqladmin –user=root create cacti\n# echo “GRANT ALL ON cacti.* TO …\u003c/p\u003e"
July 26, 2010
[教程]freebsd下安装cacti教程
"\u003cp\u003e\u003cstrong\u003e一、安装mysql51-server\u003c/strong\u003e\ncd /usr/ports/database/mysql51-server\u003c/p\u003e\n\u003cp\u003emake with-debug=no with-client-ldflags=-all-static with-mysqld-ldflags=-all-static witch-assembler=yes with-pthread=yes enable-thread-safe-client=yes install clean\nmake install clean\u003c/p\u003e\n\u003cp\u003ecp /usr/local/share/mysql/my-small.cnf /usr/local/etc/my.cnf\u003c/p\u003e\n\u003cp\u003ecd /\nmkdir mysql\nchmod 777 /mysql\nee /usr/local/etc/my.cnf\u003c/p\u003e\n\u003cp\u003e[client]\nport = 3389\nsock = /mysql/mysql.sock\ndefault-character-set = utf8\n[mysqld]\nport = 3389\nsock = /mysql/mysql.sock …\u003c/p\u003e"
July 24, 2010
X-Cache 和 X-Cache-Lookup headers 的解释
"\u003cp\u003eX-Cache: 表示你的 http request 是由 proxy server 回的 .\nMISS 表 proxy无资料,代理动作, HIT 表 proxy 直接回应\u003c/p\u003e\n\u003cp\u003eX-Pad: 這個是800 年前的 netscape bug 的因素才用的\u003c/p\u003e\n\u003cp\u003e想象你在一个标准的\u003ca href=\"http://vbb.twftp.org/archive/index.php/t-1145.html\"\u003e透明代理\u003c/a\u003e80端口下,并且你正在访问一个运行了内部网络缓存(这样,又是一个代理)的站点。如果你查看HTTP headers查找某些信息,你能够找到像这样的2行,规定domain.tld 代表那个本地网站,proxy.local 代表你的内部的透明代理。\u003c/p\u003e\n\u003cp\u003eX-Cache :HIT from proxy.domain.tld, MISS from proxy.local\nX-Cache-Lookup :HIT from proxy.domain.tld:3128, MISS from proxy.local:3128\u003c/p\u003e\n\u003cp\u003e这2行是什么意思?如果这是你第一次访问那个站点(MISS from proxy.local),并且它的代理的缓存中有一个有效的网页(X-Cache HIT proxy.domain.tld)\u003c/p\u003e\n\u003cp\u003e现在我们刷新了页面 …\u003c/p\u003e"
July 24, 2010
HTTP 1.1 中Transfer-Encoding chunked编码
"\u003cp\u003e大多数的站点相应用户请求时发送的HTTP Headers中包含Content-Length头.此头信息定义在HTTP1.0协议 \u003ca href=\"http://www.ietf.org/rfc/rfc1945.txt\"\u003e\u003cem\u003eRFC\u003c/em\u003e 1945\u003c/a\u003e 10.4章节中.该信息是用来告知用户代理,通常意义上就是浏览器,服务端发送的文档内容长度.浏览器接受到此信息后,接收完Content-Length中定义的长度字节后开始解析页面.如果服务端有部分数据延迟发送,那么浏览器就会白屏.这样导致比较糟糕的用户体验.\u003c/p\u003e\n\u003cp\u003e解决方法在HTTP1.1协议. \u003ca href=\"http://www.ietf.org/rfc/rfc2616.txt\"\u003e\u003cem\u003eRFC2616\u003c/em\u003e\u003c/a\u003e 中14.41章节中定义的Transfer-Encoding:chunked的头信息.chunked编码定义在3.6.1中.根据此定义浏览器不需要等到内容字节全部下载完成,只要接收到一个chunked块就可解析页面.并且可以下载html中定义的页面内容,包括js,css,image等.采用chunked编码有两种选择,一种是设定Server的IO buffer长度让Server自动flush buffer中的内容,另一种是手动调用IO中的flush函数。不同的语言IO中都有flush功能:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ephp: ob_flush(); …\u003c/li\u003e\u003c/ul\u003e"
July 23, 2010
MySQL内存使用-线程独享
"\u003cp\u003e对于任何一个数据库管理系统来说,内存的分配使用绝对可以算的上是其核心之一了,所以很多希望更为深入了解某数据库管理系统的人,都会希望一窥究竟,我也不例外。\u003c/p\u003e\n\u003cp\u003e从内存的使用方式MySQL 数据库的内存使用主要分为以下两类\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e线程独享内存\u003c/li\u003e\n\u003cli\u003e全局共享内存\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e今天这篇文章暂时先分析 MySQL 中主要的 “线程独享内存” 的。\u003c/p\u003e\n\u003cp\u003e在 MySQL 中,线程独享内存主要用于各客户端连接线程存储各种操作的独享数据,如线程栈信息,分组排序操作,数据读写缓冲,结果集暂存等等,而且大多数可以通过相关参数来控制内存的使用量。\u003c/p\u003e\n\u003cp\u003e**线程栈信息使用内存(thread_stack):**主要用来存放每一个线程自身的标识信息,如线程id,线程运行时基本信息等等,我们可以通过 thread_stack 参数来设置为每一个线程栈分配多大的内存。\u003c/p\u003e\n\u003cp\u003e**排序使用内存(sort_buffer_size):**MySQL 用此内存区域进行排序操作(filesort),完成客户端的排序请求。当我们设置的排序区缓存大小无法满足排序实际所需内存的时候,MySQL 会将数据写入磁盘文件来完成排序。由于磁盘和内存的读写性能完全不在一个数量级, …\u003c/p\u003e"