<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>果果大叔`s Blog &#187; For Linux</title>
	<atom:link href="http://www.glyle.net/archives/category/linux/feed" rel="self" type="application/rss+xml" />
	<link>http://www.glyle.net</link>
	<description>毫无疑问，你穿越了！你在门口的指示牌上发现了一排小字：“欢迎来到果果怪黍黍的领地”</description>
	<lastBuildDate>Sun, 06 Nov 2011 12:12:04 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Linux/centos减轻/防止DDoS攻击的轻量级小程序，DDoS deflate软件防火墙[转]</title>
		<link>http://www.glyle.net/archives/239</link>
		<comments>http://www.glyle.net/archives/239#comments</comments>
		<pubDate>Wed, 07 Sep 2011 03:06:43 +0000</pubDate>
		<dc:creator>果果</dc:creator>
				<category><![CDATA[For Linux]]></category>
		<category><![CDATA[centos]]></category>
		<category><![CDATA[ddos]]></category>

		<guid isPermaLink="false">http://www.glyle.net/?p=239</guid>
		<description><![CDATA[DDoS deflate是一款Linux/centos减轻/防止ddos攻击的一个小程序，相当于软件防火墙。注意，此程序仅仅能抵御较低流量的攻击，大流量攻击连用了上百台高档服务器做了负载均衡的新浪都扛不住，何... ]]></description>
			<content:encoded><![CDATA[<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 1.5em; margin-left: 0px; font-weight: inherit; font-style: inherit; font-size: 12px; font-family: inherit; vertical-align: baseline; padding: 0px; border: 0px initial initial;"><strong style="font-weight: bold;">DDoS deflate</strong>是一款Linux/centos减轻/防止ddos攻击的一个小程序，相当于软件防火墙。注意，此程序仅仅能抵御较低流量的攻击，大流量攻击连用了上百台高档服务器做了负载均衡的新浪都扛不住，何况一个小小的普通服务器或vps。对此程序不要期望过高。这里仅仅介绍一下，对于一些简单的软件攻击可能还有点作用。</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 1.5em; margin-left: 0px; font-weight: inherit; font-style: inherit; font-size: 12px; font-family: inherit; vertical-align: baseline; padding: 0px; border: 0px initial initial;"><span style="font-weight: inherit; font-style: inherit; font-size: 12px; font-family: inherit; vertical-align: baseline; color: #ff0000; padding: 0px; margin: 0px; border: 0px initial initial;"><strong style="font-weight: bold;">CTOHOM制作的</strong><strong style="font-weight: bold;">DDoS deflate</strong><strong style="font-weight: bold;">一键安装脚本：</strong></span></p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 1.5em; margin-left: 0px; font-weight: inherit; font-style: inherit; font-size: 12px; font-family: inherit; vertical-align: baseline; padding: 0px; border: 0px initial initial;"><span style="font-weight: inherit; font-style: inherit; font-size: 12px; font-family: inherit; vertical-align: baseline; color: #008080; padding: 0px; margin: 0px; border: 0px initial initial;">wget http://www.ctohome.com/linux-vps-pack/soft/ddos/ddos.sh;sh ddos.sh;</span></p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 1.5em; margin-left: 0px; font-weight: inherit; font-style: inherit; font-size: 12px; font-family: inherit; vertical-align: baseline; padding: 0px; border: 0px initial initial;"><strong style="font-weight: bold;">脚本做了什么？</strong></p>
<ol style="margin-top: 0px; margin-right: 1.5em; margin-bottom: 8px; margin-left: 30px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 30px; font-weight: inherit; font-style: inherit; font-size: 12px; font-family: inherit; vertical-align: baseline; list-style-type: decimal; border: 0px initial initial;">
<li style="font-weight: inherit; font-style: inherit; font-size: 12px; font-family: inherit; vertical-align: baseline; line-height: 25px; padding: 0px; margin: 0px; border: 0px initial initial;">默认将iptables防火墙作为拦截工具，并将并发数改成了60/秒就触发屏蔽IP</li>
<li style="font-weight: inherit; font-style: inherit; font-size: 12px; font-family: inherit; vertical-align: baseline; line-height: 25px; padding: 0px; margin: 0px; border: 0px initial initial;">将本机IP都加入了IP白名单，然后强行不允许自动更新白名单列表。如果你需要修改IP白名单列表，请先执行 chattr -i /usr/local/ddos/ignore.ip.list   然后再vi进行修改</li>
<li style="font-weight: inherit; font-style: inherit; font-size: 12px; font-family: inherit; vertical-align: baseline; line-height: 25px; padding: 0px; margin: 0px; border: 0px initial initial;">卸载：wget http://www.ctohome.com/linux-vps-pack/soft/ddos/uninstall.ddos;sh uninstall.ddos;</li>
</ol>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 1.5em; margin-left: 0px; font-weight: inherit; font-style: inherit; font-size: 12px; font-family: inherit; vertical-align: baseline; padding: 0px; border: 0px initial initial;"><strong style="font-weight: bold;">安装后，可以手工运行脚本</strong><span style="font-weight: normal; font-style: normal; font-size: medium; font-family: Simsun; vertical-align: baseline; border-collapse: separate; color: #000000; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; padding: 0px; margin: 0px; border: 0px initial initial;"><span style="font-weight: inherit; font-style: inherit; font-size: 13px; font-family: Verdana, Arial, sans-serif; vertical-align: baseline; line-height: 20px; text-align: left; padding: 0px; margin: 0px; border: 0px initial initial;"> </span></span></p>
<pre style="margin-top: 1.5em; margin-right: 0px; margin-bottom: 1.5em; margin-left: 0px; font-weight: inherit; font-style: inherit; font-size: 12px; font-family: inherit; vertical-align: baseline; white-space: pre; font: normal normal normal 1em/normal 'andale mono', 'lucida console', monospace; line-height: 1.5; padding: 0px; border: 0px initial initial;">/usr/local/ddos/ddos.sh -k 30 强行屏蔽连接数大于30的IP
更多使用说明，请直接 more /usr/local/ddos/ddos.sh 查看</pre>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 1.5em; margin-left: 0px; font-weight: inherit; font-style: inherit; font-size: 12px; font-family: inherit; vertical-align: baseline; padding: 0px; border: 0px initial initial;">
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 1.5em; margin-left: 0px; font-weight: inherit; font-style: inherit; font-size: 12px; font-family: inherit; vertical-align: baseline; padding: 0px; border: 0px initial initial;"><span style="font-weight: normal; font-style: normal; font-size: medium; font-family: Simsun; vertical-align: baseline; border-collapse: separate; color: #000000; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; padding: 0px; margin: 0px; border: 0px initial initial;"><span style="font-weight: inherit; font-style: inherit; font-size: 13px; font-family: Verdana, Arial, sans-serif; vertical-align: baseline; line-height: 20px; text-align: left; padding: 0px; margin: 0px; border: 0px initial initial;"> </span></span></p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 1.8em; margin-left: 0px; font-weight: inherit; font-style: inherit; font-size: 12px; font-family: inherit; vertical-align: baseline; padding: 0px; border: 0px initial initial;"><strong style="font-weight: bold;">DDoS deflate介绍</strong></p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 1.8em; margin-left: 0px; font-weight: inherit; font-style: inherit; font-size: 12px; font-family: inherit; vertical-align: baseline; padding: 0px; border: 0px initial initial;">DDoS deflate是一款免费的用来防御和减轻DDoS攻击的脚本。它通过netstat监测跟踪创建大量网络连接的IP地址，在检测到某个结点超过预设的限 制时，该程序会通过APF或IPTABLES禁止或阻挡这些IP.</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 1.8em; margin-left: 0px; font-weight: inherit; font-style: inherit; font-size: 12px; font-family: inherit; vertical-align: baseline; padding: 0px; border: 0px initial initial;">DDoS deflate官方网站：<a style="font-weight: inherit; font-style: inherit; font-size: 12px; font-family: inherit; vertical-align: baseline; color: #000388; text-decoration: none; padding: 0px; margin: 0px; border: 0px initial initial;" href="http://www.ctohome.com/hbcms/php/r.php?url=http%3A%2F%2Fdeflate.medialayer.com%2F" target="_blank">http://deflate.medialayer.com/</a></p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 1.8em; margin-left: 0px; font-weight: inherit; font-style: inherit; font-size: 12px; font-family: inherit; vertical-align: baseline; padding: 0px; border: 0px initial initial;"><strong style="font-weight: bold;">如何确认是否受到DDOS攻击？</strong></p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 1.8em; margin-left: 0px; font-weight: inherit; font-style: inherit; font-size: 12px; font-family: inherit; vertical-align: baseline; padding: 0px; border: 0px initial initial;">执行：</p>
<pre style="margin-top: 1.5em; margin-right: 0px; margin-bottom: 1.5em; margin-left: 0px; font-weight: inherit; font-style: inherit; font-size: 12px; font-family: inherit; vertical-align: baseline; white-space: pre; font: normal normal normal 1em/normal 'andale mono', 'lucida console', monospace; line-height: 1.5; padding: 0px; border: 0px initial initial;">netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n</pre>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 1.8em; margin-left: 0px; font-weight: inherit; font-style: inherit; font-size: 12px; font-family: inherit; vertical-align: baseline; padding: 0px; border: 0px initial initial;">执行后，将会显示服务器上所有的每个IP多少个连接数。</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 1.8em; margin-left: 0px; font-weight: inherit; font-style: inherit; font-size: 12px; font-family: inherit; vertical-align: baseline; padding: 0px; border: 0px initial initial;">以下是我自己用VPS测试的结果：</p>
<pre style="margin-top: 1.5em; margin-right: 0px; margin-bottom: 1.5em; margin-left: 0px; font-weight: inherit; font-style: inherit; font-size: 12px; font-family: inherit; vertical-align: baseline; white-space: pre; font: normal normal normal 1em/normal 'andale mono', 'lucida console', monospace; line-height: 1.5; padding: 0px; border: 0px initial initial;">li88-99:~# netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n
1 114.226.9.132
1 174.129.237.157
1 58.60.118.142
1 Address
1 servers)
2 118.26.131.78
3 123.125.1.202
3 220.248.43.119
4 117.36.231.253
4 119.162.46.124
6 219.140.232.128
8 220.181.61.31    <span style="font-weight: inherit; font-style: inherit; font-size: 12px; font-family: inherit; vertical-align: baseline; color: #ffffff; padding: 0px; margin: 0px; border: 0px initial initial;">VPS侦探 http://www.vpser.net/</span>
2311 67.215.242.196 （这个看起来像攻击）</pre>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 1.8em; margin-left: 0px; font-weight: inherit; font-style: inherit; font-size: 12px; font-family: inherit; vertical-align: baseline; padding: 0px; border: 0px initial initial;">每个IP几个、十几个或几十个连接数都还算比较正常，如果像上面成百上千肯定就不正常了。</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 1.8em; margin-left: 0px; font-weight: inherit; font-style: inherit; font-size: 12px; font-family: inherit; vertical-align: baseline; padding: 0px; border: 0px initial initial;"><strong style="font-weight: bold;">1、安装DDoS deflate</strong></p>
<pre style="margin-top: 1.5em; margin-right: 0px; margin-bottom: 1.5em; margin-left: 0px; font-weight: inherit; font-style: inherit; font-size: 12px; font-family: inherit; vertical-align: baseline; white-space: pre; font: normal normal normal 1em/normal 'andale mono', 'lucida console', monospace; line-height: 1.5; padding: 0px; border: 0px initial initial;">wget http://www.inetbase.com/scripts/ddos/install.sh   //下载DDoS  deflate
chmod 0700 install.sh    //添加权限
./install.sh             //执行</pre>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 1.8em; margin-left: 0px; font-weight: inherit; font-style: inherit; font-size: 12px; font-family: inherit; vertical-align: baseline; padding: 0px; border: 0px initial initial;"><strong style="font-weight: bold;">2、配置DDoS deflate</strong></p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 1.8em; margin-left: 0px; font-weight: inherit; font-style: inherit; font-size: 12px; font-family: inherit; vertical-align: baseline; padding: 0px; border: 0px initial initial;">下面是DDoS deflate的默认配置位于/usr/local/ddos/ddos.conf ，内容如下：</p>
<pre style="margin-top: 1.5em; margin-right: 0px; margin-bottom: 1.5em; margin-left: 0px; font-weight: inherit; font-style: inherit; font-size: 12px; font-family: inherit; vertical-align: baseline; white-space: pre; font: normal normal normal 1em/normal 'andale mono', 'lucida console', monospace; line-height: 1.5; padding: 0px; border: 0px initial initial;">##### Paths of the script and other files
PROGDIR="/usr/local/ddos"
PROG="/usr/local/ddos/ddos.sh"
IGNORE_IP_LIST="/usr/local/ddos/ignore.ip.list"  //IP地址白名单
CRON="/etc/cron.d/ddos.cron"    //定时执行程序
APF="/etc/apf/apf"
IPT="/sbin/iptables"

##### frequency in minutes for running the script
##### Caution: Every time this setting is changed, run the script with --cron
#####          option so that the new frequency takes effect
FREQ=1   //检查时间间隔，默认1分钟

##### How many connections define a bad IP? Indicate that below.
NO_OF_CONNECTIONS=150     //最大连接数，超过这个数IP就会被屏蔽，一般默认即可

##### APF_BAN=1 (Make sure your APF version is atleast 0.96)
##### APF_BAN=0 (Uses iptables for banning ips instead of APF)
APF_BAN=1        //使用APF还是iptables。推荐使用iptables,将APF_BAN的值改为0即可。

##### KILL=0 (Bad IPs are'nt banned, good for interactive execution of script)
##### KILL=1 (Recommended setting)
KILL=1   //是否屏蔽IP，默认即可

##### An email is sent to the following address when an IP is banned.
##### Blank would suppress sending of mails
EMAIL_TO="root"   //当IP被屏蔽时给指定邮箱发送邮件，推荐使用，换成自己的邮箱即可

##### Number of seconds the banned ip should remain in blacklist.
BAN_PERIOD=600    //禁用IP时间，默认600秒，可根据情况调整</pre>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 1.8em; margin-left: 0px; font-weight: inherit; font-style: inherit; font-size: 12px; font-family: inherit; vertical-align: baseline; padding: 0px; border: 0px initial initial;">用户可根据给默认配置文件加上的注释提示内容，修改配置文件。</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 1.5em; margin-left: 0px; font-weight: inherit; font-style: inherit; font-size: 12px; font-family: inherit; vertical-align: baseline; padding: 0px; border: 0px initial initial;">
<h1 style="margin-top: 0px; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; font-weight: normal; font-style: inherit; font-size: 3em; font-family: inherit; vertical-align: baseline; color: #111111; line-height: 1; padding: 0px; border: 0px initial initial;">卸载</h1>
<pre style="margin-top: 1.5em; margin-right: 0px; margin-bottom: 1.5em; margin-left: 0px; font-weight: inherit; font-style: inherit; font-size: 12px; font-family: inherit; vertical-align: baseline; white-space: pre; font: normal normal normal 1em/normal 'andale mono', 'lucida console', monospace; line-height: 1.5; padding: 0px; border: 0px initial initial;">wget http://www.inetbase.com/scripts/ddos/uninstall.ddos
chmod 0700 uninstall.ddos
./uninstall.ddos</pre>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 1.5em; margin-left: 0px; font-weight: inherit; font-style: inherit; font-size: 12px; font-family: inherit; vertical-align: baseline; padding: 0px; border: 0px initial initial;">
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 1.5em; margin-left: 0px; font-weight: inherit; font-style: inherit; font-size: 12px; font-family: inherit; vertical-align: baseline; padding: 0px; border: 0px initial initial;">
<h3 style="margin-top: 0px; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; font-weight: normal; font-style: inherit; font-size: 1.5em; font-family: inherit; vertical-align: baseline; color: #111111; line-height: 1; padding: 0px; border: 0px initial initial;">白名单设置：</h3>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 1.5em; margin-left: 0px; font-weight: inherit; font-style: inherit; font-size: 12px; font-family: inherit; vertical-align: baseline; padding: 0px; border: 0px initial initial;">有时候默认的白名单经常有失误，为了避免这个情况，我们可以手工设置白名单的ip，然后强制不允许修改</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 1.5em; margin-left: 0px; font-weight: inherit; font-style: inherit; font-size: 12px; font-family: inherit; vertical-align: baseline; padding: 0px; border: 0px initial initial;">vi /usr/local/ddos/ignore.ip.list</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 1.5em; margin-left: 0px; font-weight: inherit; font-style: inherit; font-size: 12px; font-family: inherit; vertical-align: baseline; padding: 0px; border: 0px initial initial;">手工设置白名单IP</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 1.5em; margin-left: 0px; font-weight: inherit; font-style: inherit; font-size: 12px; font-family: inherit; vertical-align: baseline; padding: 0px; border: 0px initial initial;">
chattr +i /usr/local/ddos/ignore.ip.list</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 1.5em; margin-left: 0px; font-weight: inherit; font-style: inherit; font-size: 12px; font-family: inherit; vertical-align: baseline; padding: 0px; border: 0px initial initial;">强制不允许修改</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 1.5em; margin-left: 0px; font-weight: inherit; font-style: inherit; font-size: 12px; font-family: inherit; vertical-align: baseline; padding: 0px; border: 0px initial initial;">
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 1.5em; margin-left: 0px; font-weight: inherit; font-style: inherit; font-size: 12px; font-family: inherit; vertical-align: baseline; padding: 0px; border: 0px initial initial;">chattr -i /usr/local/ddos/ignore.ip.list</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 1.5em; margin-left: 0px; font-weight: inherit; font-style: inherit; font-size: 12px; font-family: inherit; vertical-align: baseline; padding: 0px; border: 0px initial initial;">解除不允许修改</p>
<h3 style="margin-top: 0px; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; font-weight: normal; font-style: inherit; font-size: 1.5em; font-family: inherit; vertical-align: baseline; color: #111111; line-height: 1; padding: 0px; border: 0px initial initial;">手工用iptables屏蔽IP:</h3>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 1.5em; margin-left: 0px; font-weight: inherit; font-style: inherit; font-size: 12px; font-family: inherit; vertical-align: baseline; padding: 0px; border: 0px initial initial;"><span style="font-weight: normal; font-style: normal; font-size: medium; font-family: Simsun; vertical-align: baseline; border-collapse: separate; color: #000000; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; padding: 0px; margin: 0px; border: 0px initial initial;"><span style="font-weight: inherit; font-style: inherit; font-size: 14px; font-family: Arial; vertical-align: baseline; line-height: 20px; padding: 0px; margin: 0px; border: 0px initial initial;"> </span></span></p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 1.5em; margin-left: 0px; font-weight: inherit; font-style: inherit; font-size: 12px; font-family: inherit; vertical-align: baseline; line-height: normal; padding: 0px; border: 0px initial initial;">单个IP的命令是<br />
iptables -I INPUT -s 124.115.0.199 -j DROP</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 1.5em; margin-left: 0px; font-weight: inherit; font-style: inherit; font-size: 12px; font-family: inherit; vertical-align: baseline; line-height: normal; padding: 0px; border: 0px initial initial;">恢复单个IP：</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 1.5em; margin-left: 0px; font-weight: inherit; font-style: inherit; font-size: 12px; font-family: inherit; vertical-align: baseline; line-height: normal; padding: 0px; border: 0px initial initial;">iptables -D INPUT -s <span style="font-weight: normal; font-style: normal; font-size: medium; font-family: Simsun; vertical-align: baseline; border-collapse: separate; color: #000000; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; padding: 0px; margin: 0px; border: 0px initial initial;"><span style="font-weight: inherit; font-style: inherit; font-size: 14px; font-family: Arial; vertical-align: baseline; line-height: 20px; padding: 0px; margin: 0px; border: 0px initial initial;">124.115.0.199</span></span> -j DROP</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 1.5em; margin-left: 0px; font-weight: inherit; font-style: inherit; font-size: 12px; font-family: inherit; vertical-align: baseline; padding: 0px; border: 0px initial initial;">封IP段的命令是<br />
iptables -I INPUT -s 124.115.0.0/16 -j DROP<br />
iptables -I INPUT -s 124.115.3.0/16 -j DROP<br />
iptables -I INPUT -s 124.115.4.0/16 -j DROP</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 1.5em; margin-left: 0px; font-weight: inherit; font-style: inherit; font-size: 12px; font-family: inherit; vertical-align: baseline; padding: 0px; border: 0px initial initial;">封整个段的命令是<br />
iptables -I INPUT -s 124.115.0.0/8 -j DROP</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 1.5em; margin-left: 0px; font-weight: inherit; font-style: inherit; font-size: 12px; font-family: inherit; vertical-align: baseline; padding: 0px; border: 0px initial initial;">封几个段的命令是<br />
iptables -I INPUT -s 61.37.80.0/24 -j DROP<br />
iptables -I INPUT -s 61.37.81.0/24 -j DROP</p>
]]></content:encoded>
			<wfw:commentRss>http://www.glyle.net/archives/239/feed</wfw:commentRss>
		<slash:comments>103</slash:comments>
		</item>
		<item>
		<title>[转]centos上VNC的安装与使用</title>
		<link>http://www.glyle.net/archives/234</link>
		<comments>http://www.glyle.net/archives/234#comments</comments>
		<pubDate>Tue, 14 Jun 2011 03:24:55 +0000</pubDate>
		<dc:creator>果果</dc:creator>
				<category><![CDATA[For Linux]]></category>
		<category><![CDATA[centos]]></category>
		<category><![CDATA[gnome]]></category>
		<category><![CDATA[vnc]]></category>

		<guid isPermaLink="false">http://www.glyle.net/?p=234</guid>
		<description><![CDATA[安装前请先确保已经安装gnome桌面程序，否则即使装完VNC，连接时也只会显示一个纯色的背景加上一个X号的鼠标
VNC的安装与使用。
说明：文章内容比较简单，献给那些初学者作为参考。
      ... ]]></description>
			<content:encoded><![CDATA[<p>安装前请先确保已经安装gnome桌面程序，否则即使装完VNC，连接时也只会显示一个纯色的背景加上一个X号的鼠标</p>
<p>VNC的安装与使用。<br />
说明：文章内容比较简单，献给那些初学者作为参考。<br />
      文章分为两部分，第一部分为VNC简介，第二部分为VNC的安装与使用。<br />
      文章为小弟结合书籍与小弟的实际操作总结出来的，如有错误与疏漏之处，还请指出。<br />
fish_ys  2003.8.25 </p>
<p>『VNC简介』<br />
  网络遥控技术是指由一部计算机（主控端）去控制另一部计算机（被控端），而且当主控端在控制端时，就如同用户亲自坐在被控端前操作一样，可以执行被控端的应用程序，及使用被控端的系统资源。<br />
  VNC（Virtual Network Computing）是一套由AT&#038;T实验室所开发的可操控远程的计算机的软件，其采用了GPL授权条款，任何人都可免费取得该软件。VNC软件主要由两个部分组成：VNC server及VNC viewer。用户需先将VNC server安装在被控端的计算机上后，才能在主控端执行VNC viewer控制被控端。<br />
（在windows中也由一套著名的网络遥控软件――Symantec公司推出的pcAnywhere。<br />
  VNC server与VNC viewer支持多种操作系统，如Unix系列（Unix，Linux，Solaris等），windows及MacOS，因此可将VNC server 及VNC viewer分别安装在不同的操作系统中进行控制。如果目前操作的主控端计算机没有安装VNC viewer，也可以通过一般的网页浏览器来控制被控端。<br />
  整个VNC运行的工作流程如下：<br />
（1） VNC客户端通过浏览器或VNC Viewer连接至VNC Server。<br />
（2） VNC Server传送一对话窗口至客户端，要求输入连接密码，以及存取的VNC Server显示装置。<br />
（3） 在客户端输入联机密码后，VNC Server验证客户端是否具有存取权限。<br />
（4） 若是客户端通过VNC Server的验证，客户端即要求VNC Server显示桌面环境。<br />
（5） VNC Server通过X Protocol 要求X Server将画面显示控制权交由VNC Server负责。<br />
（6） VNC Server将来由 X Server的桌面环境利用VNC通信协议送至客户端，并且允许客户端控制VNC Server的桌面环境及输入装置。 </p>
<p>『VNC的安装与使用』<br />
本人的操作环境：被控端 Redhat8.0，主控端Windows XP。<br />
1． 载VNC Server与VNC viewer.<br />
VNC Server下载地址：http://www.linuxeden.com/download/softdetail.php?softid=744<br />
VNC viewer下载地址：http://download.pchome.net/php/dl.php?sid=2603<br />
2．安装。<br />
rpm –Uvh vnc-3.3.6-2.i386.rpm (如果是源代码请看包里的说明)<br />
安装winvnc.exe<br />
3.在Linux上启动VNC Server<br />
执行vncserver命令：<br />
[root@linux root]# vncserver<br />
You will require a password to access your desktops.<br />
Password:                       &#8212;-为了不想任何人都可以任意遥控此计算机。因此当第<br />
Verify:                          &#8212;1次启动VNC server时，会要求设置网络遥控的密码。<br />
New ‘X’ desktop is linux:1         &#8212;-一定要记住这一行稍后会用到。<br />
Creating default startup script /root/.vnc/xstartup<br />
Starting applications specified in /root/.vnc/xstartup<br />
Log file is /root/.vnc/linux:1.log<br />
（经上述步骤后，便已启动了VNC Server。如果你想要更改VNC Server的密码，只要执行vncpasswd命令即可。）<br />
4．在Microsoft Windows上运行VNC Viewer<br />
直接运行“vncviewer.exe”,系统会出现”Connection details”对话框。<br />
在“Connection details”对话框中的“VNC server”文本框中输入VNC Server的IP地址（或主机名及显示装置编号，（请看3。在Linux上启动VNC server的这一行，New ‘X’ desktop is linux:1 得到此信息），例如：192.168.0.1：1（冒号后面的1是执行VNC Server生成的显示装置编号），单击“OK”按钮后，VNC Server即会开始检查所输入的信息，若是信息错误，系统会出现“Failed to connect to server”的错误信息：若是信息正确，则会接着出现“VNC Authentication”对话框。<br />
  若是在“VNC Authentication”对话框中输入的密码正确，就可以成功地打开Linux的桌面窗口。<br />
5. 从浏览器远程遥控。<br />
启动VNC Server 后直接打开浏览器，在地址栏中输入被控端的网址或IP地址，并在网址后加上“：5800＋显示编号”的端口号即可操控该计算机。<br />
例如：http://192.168.01.:5801 (如果显示编号为1，一般第一次设置的显示编号都是1，就用5800＋1＝5801。) </p>
<p>6．FAQ<br />
A．为什么连接后，不能显示桌面，而只有一个Terminal窗口？<br />
试着修改/root/.vnc/xstartup,把最后一行 twm&#038; 改成 gnome-session&#038; or  kde&#038;(据说KDE在目前的VNC Viewer上的表现不太稳定) </p>
<p>B． 为什么重新启动VNC Server后，连接不上了？<br />
因为重新启动VNC Server时，系统会指定一个新的显示编号，需使用此新的编号，否则就无法连接。<br />
（以上只是本人遇到的一些问题，而且用VNC也不是很多，很不全面，还望多提宝贵意见）</p>
<p>为什么我设成gnome-session &#038;进去什么也没有啊?灰灰的背景,一个大X鼠标标志,求大虾帮忙!!!!!! </p>
<p>是你没有装gnome</p>
]]></content:encoded>
			<wfw:commentRss>http://www.glyle.net/archives/234/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>centos系统的VPS如何安装WHM/CPANEL控制面板</title>
		<link>http://www.glyle.net/archives/226</link>
		<comments>http://www.glyle.net/archives/226#comments</comments>
		<pubDate>Thu, 05 May 2011 00:32:42 +0000</pubDate>
		<dc:creator>果果</dc:creator>
				<category><![CDATA[For Linux]]></category>
		<category><![CDATA[centos]]></category>
		<category><![CDATA[cpanel]]></category>
		<category><![CDATA[cpanel license]]></category>
		<category><![CDATA[vps]]></category>

		<guid isPermaLink="false">http://www.glyle.net/?p=226</guid>
		<description><![CDATA[1，一般VPS买来时的centos系统会自带apache，要先卸载掉
yum remove httpd -y
2，安装cpanel控制面板：
1.cd /home

2.wget -N http://httpupdate.cpanel.net/latest

3.sh latest 

然后等待….反复的++++…….，40分钟左右。

... ]]></description>
			<content:encoded><![CDATA[<p>1，一般VPS买来时的centos系统会自带apache，要先卸载掉</p>
<pre>yum remove httpd -y</pre>
<p style="line-height: 1.4em; padding: 0px; margin: 0px;">2，安装cpanel控制面板：</p>
<pre><span style="line-height: 19px;">1.<code style="padding: 0px; margin: 0px;">cd /home</code></span>

<span style="line-height: 19px;"><code style="padding: 0px; margin: 0px;"><span style="font-family: Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif;">2.<code style="padding: 0px; margin: 0px;">wget -N http://httpupdate.cpanel.net/latest</code></span></code></span>

<span style="line-height: 19px;"><code style="padding: 0px; margin: 0px;"><span style="font-family: Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif;"><code style="padding: 0px; margin: 0px;"><span style="font-family: Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif;">3.<code style="padding: 0px; margin: 0px;">sh latest </code></span></code></span></code></span>

<span style="line-height: 19px;"><code style="padding: 0px; margin: 0px;"><span style="font-family: Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif;"><code style="padding: 0px; margin: 0px;"><span style="font-family: Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif;"><code style="padding: 0px; margin: 0px;"><span style="font-family: Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif;">然后等待….反复的++++…….，40分钟左右。</span></code></span></code></span></code></span>

<span style="line-height: 19px;"><code style="padding: 0px; margin: 0px;"><span style="font-family: Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif;"><code style="padding: 0px; margin: 0px;"><span style="font-family: Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif;"><code style="padding: 0px; margin: 0px;"><span style="font-family: Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif;">然后提示成功，<a style="color: #888888; text-decoration: none; padding: 0px; margin: 0px;" href="http://ip:2086/">http://IP/whm</a></span></code></span></code></span></code></span></pre>
<pre>进入WHM安装向导进行基础配置，配置完就进入了WHM面板，</pre>
<pre>运行easy apache，选择需要的环境，重新编译apache</pre>
<p style="line-height: 1.4em; padding: 0px; margin: 0px;"><span style="line-height: 19px;"><span style="font-family: Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif;"><span style="font-family: Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif;"><span style="font-family: Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif;"><br />
</span></span></span></span></p>
<p style="line-height: 1.4em; padding: 0px; margin: 0px;">3，购买license</p>
<p style="line-height: 1.4em; padding: 0px; margin: 0px;">
<p style="line-height: 1.4em; padding: 0px; margin: 0px;">购买网址：http://www.buycpanel.com。购买15美金的VPS版本的许可即可，下订单后大概需要pending半天的时间，状态变为active时，就可以使用了</p>
<p style="line-height: 1.4em; padding: 0px; margin: 0px;">
<p style="line-height: 1.4em; padding: 0px; margin: 0px;">
<p style="line-height: 1.4em; padding: 0px; margin: 0px;">4，如果进入WHM面板左边还是提示没有许可的错误，就需要重新加载一下许可文件</p>
<p style="line-height: 1.4em; padding: 0px; margin: 0px;">1. 打开 http://www.cpanel.net/apps/verify 输入你的IP地址查看 cPanel license的状态. 确定是 Active的.</p>
<p style="line-height: 1.4em; padding: 0px; margin: 0px;">
<p style="line-height: 1.4em; padding: 0px; margin: 0px;">2. 然后运行 /usr/local/cpanel/cpkeyclt 即可</p>
]]></content:encoded>
			<wfw:commentRss>http://www.glyle.net/archives/226/feed</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>linux下增加swap内存容量，避免因为swap内存溢出导致服务器宕机</title>
		<link>http://www.glyle.net/archives/208</link>
		<comments>http://www.glyle.net/archives/208#comments</comments>
		<pubDate>Wed, 02 Mar 2011 09:46:14 +0000</pubDate>
		<dc:creator>果果</dc:creator>
				<category><![CDATA[For Linux]]></category>
		<category><![CDATA[swap内存]]></category>
		<category><![CDATA[服务器]]></category>

		<guid isPermaLink="false">http://www.glyle.net/?p=208</guid>
		<description><![CDATA[最近服务器连续抽风两三次，按照托管方的分析，说swap内存太小了，应该至少为内存的2倍。查了一下资料，linux内核的系统不管你物理内存多大，默认swap内存是2G，可通过以下方式增加swap内存... ]]></description>
			<content:encoded><![CDATA[<p>最近服务器连续抽风两三次，按照托管方的分析，说swap内存太小了，应该至少为内存的2倍。查了一下资料，linux内核的系统不管你物理内存多大，默认swap内存是2G，可通过以下方式增加swap内存。</p>
<p>使用free -k命令即可查看当前swap内存大小，例如：</p>
<pre style="padding-top: 0.667em; padding-right: 0.917em; padding-bottom: 0.667em; padding-left: 0.917em; margin-top: 0px; margin-right: 0px; margin-bottom: 1.833em; margin-left: 0px; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: #eeeeee; overflow-x: auto; overflow-y: auto; clear: both; font-family: Consolas, 'Andale Mono', Monaco, Courier, 'Courier New', Verdana, sans-serif; font-size: 0.857em; line-height: 1.5em; background-position: initial initial; background-repeat: initial initial; border: 1px solid #dddddd;"># free -k
             total       used       free     shared    buffers     cached
Mem:       3082356    2043700    1038656          0      50976    1646268
-/+ buffers/cache:     346456    2735900
Swap:      <strong>2096440</strong>          0    2096440</pre>
<p>可以使用新分区和新建文件作为swap，分区太麻烦了，我使用创建swap文件的方法</p>
<p>我机器内存是4G的，所以swap内存至少要8G，系统自带了2G，我只需要增加6G的空间，这里我尝试增加8G一共10G试试。在剩余空间较多的/home文件夹下创建一个8G的myswapfile文件</p>
<pre style="padding-top: 0.667em; padding-right: 0.917em; padding-bottom: 0.667em; padding-left: 0.917em; margin-top: 0px; margin-right: 0px; margin-bottom: 1.833em; margin-left: 0px; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: #eeeeee; overflow-x: auto; overflow-y: auto; clear: both; font-family: Consolas, 'Andale Mono', Monaco, Courier, 'Courier New', Verdana, sans-serif; font-size: 0.857em; line-height: 1.5em; background-position: initial initial; background-repeat: initial initial; border: 1px solid #dddddd;"># dd if=/dev/zero of=/home/myswapfile bs=1M count=8192
8192+0 records in
8192+0 records out

# ls -l /home/myswapfile
-rw-r--r--    1 root     root     1073741824 Aug 14 23:47 /home/myswapfile</pre>
<p>然后修改权限</p>
<pre style="padding-top: 0.667em; padding-right: 0.917em; padding-bottom: 0.667em; padding-left: 0.917em; margin-top: 0px; margin-right: 0px; margin-bottom: 1.833em; margin-left: 0px; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: #eeeeee; overflow-x: auto; overflow-y: auto; clear: both; font-family: Consolas, 'Andale Mono', Monaco, Courier, 'Courier New', Verdana, sans-serif; font-size: 0.857em; line-height: 1.5em; background-position: initial initial; background-repeat: initial initial; border: 1px solid #dddddd;"># chmod 600 /home/myswapfile</pre>
<p>把这个文件设置为swap文件</p>
<pre style="padding-top: 0.667em; padding-right: 0.917em; padding-bottom: 0.667em; padding-left: 0.917em; margin-top: 0px; margin-right: 0px; margin-bottom: 1.833em; margin-left: 0px; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: #eeeeee; overflow-x: auto; overflow-y: auto; clear: both; font-family: Consolas, 'Andale Mono', Monaco, Courier, 'Courier New', Verdana, sans-serif; font-size: 0.857em; line-height: 1.5em; background-position: initial initial; background-repeat: initial initial; border: 1px solid #dddddd;"># mkswap /home/myswapfile
Setting up swapspace version 1, size = 8589930 kB</pre>
<p>开启新创建的swap文件</p>
<pre style="padding-top: 0.667em; padding-right: 0.917em; padding-bottom: 0.667em; padding-left: 0.917em; margin-top: 0px; margin-right: 0px; margin-bottom: 1.833em; margin-left: 0px; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: #eeeeee; overflow-x: auto; overflow-y: auto; clear: both; font-family: Consolas, 'Andale Mono', Monaco, Courier, 'Courier New', Verdana, sans-serif; font-size: 0.857em; line-height: 1.5em; background-position: initial initial; background-repeat: initial initial; border: 1px solid #dddddd;"># swapon /home/myswapfile</pre>
<p>设置重启后能自动加载该文件，编辑/etc/fstab文件，把下面这一行添加到文件最后。</p>
<pre style="padding-top: 0.667em; padding-right: 0.917em; padding-bottom: 0.667em; padding-left: 0.917em; margin-top: 0px; margin-right: 0px; margin-bottom: 1.833em; margin-left: 0px; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: #eeeeee; overflow-x: auto; overflow-y: auto; clear: both; font-family: Consolas, 'Andale Mono', Monaco, Courier, 'Courier New', Verdana, sans-serif; font-size: 0.857em; line-height: 1.5em; background-position: initial initial; background-repeat: initial initial; border: 1px solid #dddddd;"># vi /etc/fstab
/home/myswapfile               swap                    swap    defaults        0 0</pre>
<p>使用swapon -s和free -k命令即可查看现在的swap使用情况</p>
<pre style="padding-top: 0.667em; padding-right: 0.917em; padding-bottom: 0.667em; padding-left: 0.917em; margin-top: 0px; margin-right: 0px; margin-bottom: 1.833em; margin-left: 0px; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: #eeeeee; overflow-x: auto; overflow-y: auto; clear: both; font-family: Consolas, 'Andale Mono', Monaco, Courier, 'Courier New', Verdana, sans-serif; font-size: 0.857em; line-height: 1.5em; background-position: initial initial; background-repeat: initial initial; border: 1px solid #dddddd;">
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 850px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">root@lyle [/home]# swapon -s</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 850px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Filename                                Type            Size    Used    Priority</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 850px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">/dev/sda6                               partition       2096440 180     0</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 850px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">/home/myswapfile                        file            8388600 0       -1</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 850px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">root@lyle [/home]# free -k</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 850px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">total       used       free     shared    buffers     cached</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 850px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Mem:       4035752    3971300      64452          0      29084    3270948</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 850px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">-/+ buffers/cache:     671268    3364484</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 850px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Swap:     10485040        180   10484860</div>

# swapon -s
Filename                                Type            Size    Used    Priority
/dev/sda6                               partition       2096440 180     0
/home/myswapfile                        file            8388600 0       -1
# free -k
             total       used       free     shared    buffers     cached
Mem:       4035752    3971300      64452          0      29084    3270948
-/+ buffers/cache:     671268    3364484
Swap:     10485040        180   10484860</pre>
<p>这里就看到有两个swap，一个是2G的分区，一个是8G的我们刚才创建的文件，下面就看到实际内存4G，swap是10G。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.glyle.net/archives/208/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>MYSQL中MY.CNF配置文件优化及参数介绍</title>
		<link>http://www.glyle.net/archives/206</link>
		<comments>http://www.glyle.net/archives/206#comments</comments>
		<pubDate>Tue, 01 Mar 2011 07:08:41 +0000</pubDate>
		<dc:creator>果果</dc:creator>
				<category><![CDATA[For Linux]]></category>
		<category><![CDATA[my.cnf]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[mysql优化]]></category>

		<guid isPermaLink="false">http://www.glyle.net/?p=206</guid>
		<description><![CDATA[

设置建议:
对于单台运行的WEB服务器,建议加上:
skip-locking
skip-name-resolve
skip-networking
在PHP链接数据库时使用&#8221;LOCALHOST&#8221;.这样MySQL 客户端库将覆盖之并尝试连接到本地套接字.(
我们可以从PH... ]]></description>
			<content:encoded><![CDATA[<div style="margin-bottom: 2px;">
<div style="margin-bottom: 2px;">
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">设置建议:</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">对于单台运行的WEB服务器,建议加上:</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">skip-locking</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">skip-name-resolve</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">skip-networking</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">在PHP链接数据库时使用&#8221;LOCALHOST&#8221;.这样MySQL 客户端库将覆盖之并尝试连接到本地套接字.(</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">我们可以从PHP.INI中</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">代码:</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">; Default socket name for local MySQL connects.  If empty, uses the built-in</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">; MySQL defaults.</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">mysql.default_socket = /tmp/mysql.sock</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">看出 默认情况下 UNIX 将访问/tmp/mysql.sock)</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">以下是部分选项解释:</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">my.cnf默认是不存在的.你可以在/usr/local/share/mysql/下看到:</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">my-huge.cnf</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">my-innodb-heavy-4G.cnf</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">my-large.cnf</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">my-medium.cnf</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">my-small.cnf</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">等文件.将其中合适你机器配置的文件拷贝到/etc/my.cnf或mysql data目录/my.cnf(/var/db/mysql)下或~/.my.cnf.文件内都有详细的说明</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">[mysqld]</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">port = 3306</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">serverid = 1</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">socket = /tmp/mysql.sock</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">skip-locking</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"># 避免MySQL的外部锁定，减少出错几率增强稳定性。</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">skip-name-resolve</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">禁止MySQL对外部连接进行DNS解析，使用这一选项可以消除MySQL进行DNS解析的时间。但需要注意，如果开启该选项，则所有远程主机连接授权都要使用IP地址方式，否则MySQL将无法正常处理连接请求！</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">back_log = 384</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">指定MySQL可能的连接数量。当MySQL主线程在很短的时间内接收到非常多的连接请求，该参数生效，主线程花费很短的时间检查连接并且启动一个新线程。</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">back_log参数的值指出在MySQL暂时停止响应新请求之前的短时间内多少个请求可以被存在堆栈中。 如果系统在一个短时间内有很多连接，则需要增大该参数的值，该参数值指定到来的TCP/IP连接的侦听队列的大小。不同的操作系统在这个队列大小上有它自 己的限制。</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">试图设定back_log高于你的操作系统的限制将是无效的。默认值为50。对于Linux系统推荐设置为小于512的整数。</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">key_buffer_size = 256M</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"># key_buffer_size指定用于索引的缓冲区大小，增加它可得到更好的索引处理性能。</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">对于内存在4GB左右的服务器该参数可设置为256M或384M。</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">注意：该参数值设置的过大反而会是服务器整体效率降低！</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">max_allowed_packet = 4M</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">thread_stack = 256K</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">table_cache = 128K</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">sort_buffer_size = 6M</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">查询排序时所能使用的缓冲区大小。注意：该参数对应的分配内存是每连接独占！如果有100个连接，那么实际分配的总共排序缓冲区大小为100 × 6 ＝ 600MB。所以，对于内存在4GB左右的服务器推荐设置为6-8M。</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">read_buffer_size = 4M</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">读查询操作所能使用的缓冲区大小。和sort_buffer_size一样，该参数对应的分配内存也是每连接独享！</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">join_buffer_size = 8M</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">联合查询操作所能使用的缓冲区大小，和sort_buffer_size一样，该参数对应的分配内存也是每连接独享！</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">myisam_sort_buffer_size = 64M</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">table_cache = 512</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">thread_cache_size = 64</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">query_cache_size = 64M</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">指定MySQL查询缓冲区的大小。可以通过在MySQL控制台执行以下命令观察：</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">代码:</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"># &gt; SHOW VARIABLES LIKE &#8216;%query_cache%&#8217;;</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"># &gt; SHOW STATUS LIKE &#8216;Qcache%&#8217;;</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">如果Qcache_lowmem_prunes的值非常大，则表明经常出现缓冲不够的情况；</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">如果Qcache_hits的值非常大，则表明查询缓冲使用非常频繁，如果该值较小反而会影响效率，那么可以考虑不用查询缓冲；Qcache_free_blocks，如果该值非常大，则表明缓冲区中碎片很多。</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">tmp_table_size = 256M</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">max_connections = 768</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">指定MySQL允许的最大连接进程数。如果在访问论坛时经常出现Too Many Connections的错误提 示，则需要增大该参数值。</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">max_connect_errors = 10000000</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">wait_timeout = 10</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">指定一个请求的最大连接时间，对于4GB左右内存的服务器可以设置为5-10。</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">thread_concurrency = 8</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">该参数取值为服务器逻辑CPU数量×2，在本例中，服务器有2颗物理CPU，而每颗物理CPU又支持H.T超线程，所以实际取值为4 × 2 ＝ 8</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">skip-networking</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">开启该选项可以彻底关闭MySQL的TCP/IP连接方式，如果WEB服务器是以远程连接的方式访问MySQL数据库服务器则不要开启该选项！否则将无法正常连接！</div>
<div style="margin-bottom: 2px;">设置建议:</div>
<div style="margin-bottom: 2px;">对于单台运行的WEB服务器,建议加上:</div>
<div style="margin-bottom: 2px;">skip-locking</div>
<div style="margin-bottom: 2px;">skip-name-resolve</div>
<div style="margin-bottom: 2px;">skip-networking</div>
<div style="margin-bottom: 2px;">在PHP链接数据库时使用&#8221;LOCALHOST&#8221;.这样MySQL 客户端库将覆盖之并尝试连接到本地套接字.(</div>
<div style="margin-bottom: 2px;">我们可以从PHP.INI中</div>
<div style="margin-bottom: 2px;">代码:</div>
<div style="margin-bottom: 2px;">; Default socket name for local MySQL connects.  If empty, uses the built-in</div>
<div style="margin-bottom: 2px;">; MySQL defaults.</div>
<div style="margin-bottom: 2px;">mysql.default_socket = /tmp/mysql.sock</div>
<div style="margin-bottom: 2px;">看出 默认情况下 UNIX 将访问/tmp/mysql.sock)</div>
<div style="margin-bottom: 2px;">以下是部分选项解释:</div>
<div style="margin-bottom: 2px;">my.cnf默认是不存在的.你可以在/usr/local/share/mysql/下看到:</div>
<div style="margin-bottom: 2px;">my-huge.cnf</div>
<div style="margin-bottom: 2px;">my-innodb-heavy-4G.cnf</div>
<div style="margin-bottom: 2px;">my-large.cnf</div>
<div style="margin-bottom: 2px;">my-medium.cnf</div>
<div style="margin-bottom: 2px;">my-small.cnf</div>
<div style="margin-bottom: 2px;">等文件.将其中合适你机器配置的文件拷贝到/etc/my.cnf或mysql data目录/my.cnf(/var/db/mysql)下或~/.my.cnf.文件内都有详细的说明</div>
<div style="margin-bottom: 2px;">[mysqld]</div>
<div style="margin-bottom: 2px;">port = 3306</div>
<div style="margin-bottom: 2px;">serverid = 1</div>
<div style="margin-bottom: 2px;">socket = /tmp/mysql.sock</div>
<div style="margin-bottom: 2px;">skip-locking</div>
<div style="margin-bottom: 2px;"># 避免MySQL的外部锁定，减少出错几率增强稳定性。</div>
<div style="margin-bottom: 2px;">skip-name-resolve</div>
<div style="margin-bottom: 2px;">禁止MySQL对外部连接进行DNS解析，使用这一选项可以消除MySQL进行DNS解析的时间。但需要注意，如果开启该选项，则所有远程主机连接授权都要使用IP地址方式，否则MySQL将无法正常处理连接请求！</div>
<div style="margin-bottom: 2px;">back_log = 384</div>
<div style="margin-bottom: 2px;">指定MySQL可能的连接数量。当MySQL主线程在很短的时间内接收到非常多的连接请求，该参数生效，主线程花费很短的时间检查连接并且启动一个新线程。</div>
<div style="margin-bottom: 2px;">back_log参数的值指出在MySQL暂时停止响应新请求之前的短时间内多少个请求可以被存在堆栈中。 如果系统在一个短时间内有很多连接，则需要增大该参数的值，该参数值指定到来的TCP/IP连接的侦听队列的大小。不同的操作系统在这个队列大小上有它自 己的限制。</div>
<div style="margin-bottom: 2px;">试图设定back_log高于你的操作系统的限制将是无效的。默认值为50。对于Linux系统推荐设置为小于512的整数。</div>
<div style="margin-bottom: 2px;">key_buffer_size = 256M</div>
<div style="margin-bottom: 2px;"># key_buffer_size指定用于索引的缓冲区大小，增加它可得到更好的索引处理性能。</div>
<div style="margin-bottom: 2px;">对于内存在4GB左右的服务器该参数可设置为256M或384M。</div>
<div style="margin-bottom: 2px;">注意：该参数值设置的过大反而会是服务器整体效率降低！</div>
<div style="margin-bottom: 2px;">max_allowed_packet = 4M</div>
<div style="margin-bottom: 2px;">thread_stack = 256K</div>
<div style="margin-bottom: 2px;">table_cache = 128K</div>
<div style="margin-bottom: 2px;">sort_buffer_size = 6M</div>
<div style="margin-bottom: 2px;">查询排序时所能使用的缓冲区大小。注意：该参数对应的分配内存是每连接独占！如果有100个连接，那么实际分配的总共排序缓冲区大小为100 × 6 ＝ 600MB。所以，对于内存在4GB左右的服务器推荐设置为6-8M。</div>
<div style="margin-bottom: 2px;">read_buffer_size = 4M</div>
<div style="margin-bottom: 2px;">读查询操作所能使用的缓冲区大小。和sort_buffer_size一样，该参数对应的分配内存也是每连接独享！</div>
<div style="margin-bottom: 2px;">join_buffer_size = 8M</div>
<div style="margin-bottom: 2px;">联合查询操作所能使用的缓冲区大小，和sort_buffer_size一样，该参数对应的分配内存也是每连接独享！</div>
<div style="margin-bottom: 2px;">myisam_sort_buffer_size = 64M</div>
<div style="margin-bottom: 2px;">table_cache = 512</div>
<div style="margin-bottom: 2px;">thread_cache_size = 64</div>
<div style="margin-bottom: 2px;">query_cache_size = 64M</div>
<div style="margin-bottom: 2px;">指定MySQL查询缓冲区的大小。可以通过在MySQL控制台执行以下命令观察：</div>
<div style="margin-bottom: 2px;">代码:</div>
<div style="margin-bottom: 2px;"># &gt; SHOW VARIABLES LIKE &#8216;%query_cache%&#8217;;</div>
<div style="margin-bottom: 2px;"># &gt; SHOW STATUS LIKE &#8216;Qcache%&#8217;;</div>
<div style="margin-bottom: 2px;">如果Qcache_lowmem_prunes的值非常大，则表明经常出现缓冲不够的情况；</div>
<div style="margin-bottom: 2px;">如果Qcache_hits的值非常大，则表明查询缓冲使用非常频繁，如果该值较小反而会影响效率，那么可以考虑不用查询缓冲；Qcache_free_blocks，如果该值非常大，则表明缓冲区中碎片很多。</div>
<div style="margin-bottom: 2px;">tmp_table_size = 256M</div>
<div style="margin-bottom: 2px;">max_connections = 768</div>
<div style="margin-bottom: 2px;">指定MySQL允许的最大连接进程数。如果在访问论坛时经常出现Too Many Connections的错误提 示，则需要增大该参数值。</div>
<div style="margin-bottom: 2px;">max_connect_errors = 10000000</div>
<div style="margin-bottom: 2px;">wait_timeout = 10</div>
<div style="margin-bottom: 2px;">指定一个请求的最大连接时间，对于4GB左右内存的服务器可以设置为5-10。</div>
<div style="margin-bottom: 2px;">thread_concurrency = 8</div>
<div style="margin-bottom: 2px;">该参数取值为服务器逻辑CPU数量×2，在本例中，服务器有2颗物理CPU，而每颗物理CPU又支持H.T超线程，所以实际取值为4 × 2 ＝ 8</div>
<div style="margin-bottom: 2px;">skip-networking</div>
<div style="margin-bottom: 2px;">开启该选项可以彻底关闭MySQL的TCP/IP连接方式，如果WEB服务器是以远程连接的方式访问MySQL数据库服务器则不要开启该选项！否则将无法正常连接！</div>
</div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.glyle.net/archives/206/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>rsync 使用说明(转)</title>
		<link>http://www.glyle.net/archives/203</link>
		<comments>http://www.glyle.net/archives/203#comments</comments>
		<pubDate>Tue, 01 Mar 2011 06:24:10 +0000</pubDate>
		<dc:creator>果果</dc:creator>
				<category><![CDATA[For Linux]]></category>

		<guid isPermaLink="false">http://www.glyle.net/?p=203</guid>
		<description><![CDATA[我主要用rysnc同步文件，rsync是一款非常优秀的文件同步管理软件，它也支持多种操作系统平台，在Unix环境中，rsync有着卓绝的功绩。希望这篇文档能对一些朋友有所帮助。1. Install[url]http://www.sa... ]]></description>
			<content:encoded><![CDATA[<p><span style="font-size: x-small; padding: 0px; margin: 0px;">我主要用rysnc同步文件，</span><span style="font-size: x-small; padding: 0px; margin: 0px;">rsync是一款非常优秀的文件同步管理软件，它也支持多种操作系统平台，在Unix环境中，rsync有着卓绝的功绩。希望这篇文档能对一些朋友有所帮助。<br style="padding: 0px; margin: 0px;" /><br style="padding: 0px; margin: 0px;" /><br style="padding: 0px; margin: 0px;" />1. Install<br style="padding: 0px; margin: 0px;" /><br style="padding: 0px; margin: 0px;" />[url]http://www.samba.org/rsync/[/url]<br style="padding: 0px; margin: 0px;" /><br style="padding: 0px; margin: 0px;" />shell&gt; tar zxvf rsync-x.x.x.tar.gz<br style="padding: 0px; margin: 0px;" />shell&gt; cd rsync-x.x.x<br style="padding: 0px; margin: 0px;" />shell&gt; ./configure &amp;&amp; make &amp;&amp; make install<br style="padding: 0px; margin: 0px;" /><br style="padding: 0px; margin: 0px;" />目前大部分 Unix/Linux 默认即安装了 rsync。<br style="padding: 0px; margin: 0px;" /><br style="padding: 0px; margin: 0px;" /><br style="padding: 0px; margin: 0px;" /><br style="padding: 0px; margin: 0px;" />2. /etc/rsyncd.conf<br style="padding: 0px; margin: 0px;" /> <br style="padding: 0px; margin: 0px;" />shell&gt; touch /etc/rsyncd.conf<br style="padding: 0px; margin: 0px;" />shell&gt; vi /etc/rsyncd.conf<br style="padding: 0px; margin: 0px;" /><br style="padding: 0px; margin: 0px;" /><br style="padding: 0px; margin: 0px;" />Edit /etc/rsyncd.conf as below:<br style="padding: 0px; margin: 0px;" /> <br style="padding: 0px; margin: 0px;" />uid = nobody<br style="padding: 0px; margin: 0px;" />gid = nobody<br style="padding: 0px; margin: 0px;" />use chroot = no<br style="padding: 0px; margin: 0px;" />max connections = 5<br style="padding: 0px; margin: 0px;" />pid file = /var/run/rsync.pid<br style="padding: 0px; margin: 0px;" />lock file = /var/run/rsync.lock<br style="padding: 0px; margin: 0px;" />log file = /var/log/rsync.log<br style="padding: 0px; margin: 0px;" /> <br style="padding: 0px; margin: 0px;" />[&lt;dst-dir&gt;]<br style="padding: 0px; margin: 0px;" />path = &lt;dst-dir-fullpath&gt;<br style="padding: 0px; margin: 0px;" />ignore errors<br style="padding: 0px; margin: 0px;" />read only = no<br style="padding: 0px; margin: 0px;" />list = yes<br style="padding: 0px; margin: 0px;" />auth users = username<br style="padding: 0px; margin: 0px;" />secrets file = /etc/rsyncd.secrets<br style="padding: 0px; margin: 0px;" /><br style="padding: 0px; margin: 0px;" /><br style="padding: 0px; margin: 0px;" /><br style="padding: 0px; margin: 0px;" />3. /etc/rsync.secrets<br style="padding: 0px; margin: 0px;" /> <br style="padding: 0px; margin: 0px;" />shell&gt; echo &#8220;jack:password&#8221; &gt;&gt; /etc/rsyncd.secrets<br style="padding: 0px; margin: 0px;" />shell&gt; chmod 600 /etc/rsyncd.secrets<br style="padding: 0px; margin: 0px;" /> <br style="padding: 0px; margin: 0px;" />*注：一定要把rsyncd.secrets的权限设为600，否则不能正常进行身份认证。<br style="padding: 0px; margin: 0px;" /> 包括&#8211;password-file指向的密码文件，也必须设成600权限。<br style="padding: 0px; margin: 0px;" /><br style="padding: 0px; margin: 0px;" /> <br style="padding: 0px; margin: 0px;" /> <br style="padding: 0px; margin: 0px;" />4. Autorun<br style="padding: 0px; margin: 0px;" /><br style="padding: 0px; margin: 0px;" />&gt;&gt;&gt; Idea 1 &#8211; only linux &lt;&lt;&lt;<br style="padding: 0px; margin: 0px;" /><br style="padding: 0px; margin: 0px;" />shell&gt; vi /etc/xinetd.d/rsync<br style="padding: 0px; margin: 0px;" /> <br style="padding: 0px; margin: 0px;" />set DISABLE to yes, the result looks like this:<br style="padding: 0px; margin: 0px;" />service rsync<br style="padding: 0px; margin: 0px;" />{<br style="padding: 0px; margin: 0px;" /> disable         = no  &lt;&#8212;&#8212;&#8212;- change to yes<br style="padding: 0px; margin: 0px;" /> socket_type     = stream<br style="padding: 0px; margin: 0px;" /> wait            = no<br style="padding: 0px; margin: 0px;" /> user            = root<br style="padding: 0px; margin: 0px;" /> server          = /usr/bin/rsync<br style="padding: 0px; margin: 0px;" /> server_args     = &#8211;daemon<br style="padding: 0px; margin: 0px;" /> log_on_failure  += USERID<br style="padding: 0px; margin: 0px;" />}<br style="padding: 0px; margin: 0px;" /><br style="padding: 0px; margin: 0px;" /><br style="padding: 0px; margin: 0px;" />&gt;&gt;&gt; Idea 2 &#8211; on openSUSE &lt;&lt;&lt;<br style="padding: 0px; margin: 0px;" /><br style="padding: 0px; margin: 0px;" />shell&gt; echo &#8220;/usr/local/bin/rsync &#8211;daemon&#8221; &gt;&gt; /etc/init.d/boot.local<br style="padding: 0px; margin: 0px;" /><br style="padding: 0px; margin: 0px;" /><br style="padding: 0px; margin: 0px;" />&gt;&gt;&gt; Idea 3 &lt;&lt;&lt;<br style="padding: 0px; margin: 0px;" /> <br style="padding: 0px; margin: 0px;" />shell&gt; echo &#8220;/usr/local/bin/rsync &#8211;daemon&#8221; &gt;&gt; /etc/rc.local<br style="padding: 0px; margin: 0px;" /><br style="padding: 0px; margin: 0px;" /><br style="padding: 0px; margin: 0px;" /><br style="padding: 0px; margin: 0px;" />5. Run daemon<br style="padding: 0px; margin: 0px;" /><br style="padding: 0px; margin: 0px;" />shell&gt; rsync &#8211;daemon<br style="padding: 0px; margin: 0px;" /> <br style="padding: 0px; margin: 0px;" />*注一：在rsync的man手册的 CONNECTING TO AN RSYNC SERVER 处有提到：<br style="padding: 0px; margin: 0px;" />It is also possible to use rsync without a remote shell as the transport. In this case you will connect to a remote  rsync server running on TCP port 873.<br style="padding: 0px; margin: 0px;" /> <br style="padding: 0px; margin: 0px;" />*注二：在rsync的man手册的 &#8211;port=PORT 选项解释中有提到：<br style="padding: 0px; margin: 0px;" />This specifies an alternate TCP port number to use rather than the default port 873.<br style="padding: 0px; margin: 0px;" /><br style="padding: 0px; margin: 0px;" /><br style="padding: 0px; margin: 0px;" /><br style="padding: 0px; margin: 0px;" />6. rsync 命令实例<br style="padding: 0px; margin: 0px;" /><br style="padding: 0px; margin: 0px;" /><br style="padding: 0px; margin: 0px;" />6.1 显示目录内容<br style="padding: 0px; margin: 0px;" /><br style="padding: 0px; margin: 0px;" />命令<br style="padding: 0px; margin: 0px;" />&#8212;&#8212;<br style="padding: 0px; margin: 0px;" />a) rsync &lt;dst-dir&gt;<br style="padding: 0px; margin: 0px;" />b) rsync -r &lt;dst-dir&gt;<br style="padding: 0px; margin: 0px;" />c) rsync jack@192.168.0.1::&lt;dst-dir&gt;<br style="padding: 0px; margin: 0px;" />d) rsync ssh_user@192.168.0.1:&lt;dst-dir&gt;<br style="padding: 0px; margin: 0px;" /><br style="padding: 0px; margin: 0px;" />命令说明<br style="padding: 0px; margin: 0px;" />&#8212;&#8212;&#8212;<br style="padding: 0px; margin: 0px;" />a) 显示&lt;dst-dir&gt;目录</span><span style="font-size: x-small; padding: 0px; margin: 0px;">内容</span><span style="font-size: x-small; padding: 0px; margin: 0px;">(第一层)<br style="padding: 0px; margin: 0px;" />b) 递归显示&lt;dst-dir&gt;目录</span><span style="font-size: x-small; padding: 0px; margin: 0px;">内容</span><span style="font-size: x-small; padding: 0px; margin: 0px;"><br style="padding: 0px; margin: 0px;" />c) 显示远程主机&lt;dst-dir&gt;目录内容<br style="padding: 0px; margin: 0px;" /> *注1：端口模式, 基于rsync用户的身份验证<br style="padding: 0px; margin: 0px;" /> *注2：rsync server上的目录必须具有xx7的权限.<br style="padding: 0px; margin: 0px;" />d) 查看</span><span style="font-size: x-small; padding: 0px; margin: 0px;">远程</span><span style="font-size: x-small; padding: 0px; margin: 0px;">主机&lt;dst-dir&gt;目录</span><span style="font-size: x-small; padding: 0px; margin: 0px;">内容</span><span style="font-size: x-small; padding: 0px; margin: 0px;"><br style="padding: 0px; margin: 0px;" /> *注1：remote shell模式, 通过ssh连接的基于系统本地用户的身份验证<br style="padding: 0px; margin: 0px;" /> *注2：这里只使用了一个冒号(:)，同时用户名是远</span><span style="font-size: x-small; padding: 0px; margin: 0px;">程主机</span><span style="font-size: x-small; padding: 0px; margin: 0px;">的ssh用户，密码也是ssh用户对应的密码。<br style="padding: 0px; margin: 0px;" /> *注3：使用&#8221;&lt;dst-dir&gt;&#8221;，则列出&lt;dst-dir&gt;文件夹本身的信息。若要列出&lt;dst-dir&gt;文件夹内容，应使用&#8221;&lt;dst-dir&gt;/&#8221;。<br style="padding: 0px; margin: 0px;" /> <br style="padding: 0px; margin: 0px;" />参数说明<br style="padding: 0px; margin: 0px;" />&#8212;&#8212;&#8212;<br style="padding: 0px; margin: 0px;" />-r          对目录进行递归操作<br style="padding: 0px; margin: 0px;" /><br style="padding: 0px; margin: 0px;" /> <br style="padding: 0px; margin: 0px;" />6.2 本地目录之间同步<br style="padding: 0px; margin: 0px;" /><br style="padding: 0px; margin: 0px;" />命令<br style="padding: 0px; margin: 0px;" />&#8212;&#8212;<br style="padding: 0px; margin: 0px;" />a) rsync -av  &#8211;progress &lt;src-dir&gt;/ &lt;dst-dir&gt;             *** 注意(/) ***<br style="padding: 0px; margin: 0px;" />b) rsync -av  &#8211;progress &lt;src-dir&gt;  &lt;dst-dir&gt;<br style="padding: 0px; margin: 0px;" />c) rsync -avu &#8211;progress &#8211;delete &lt;src-dir&gt;/  &lt;dst-dir&gt;<br style="padding: 0px; margin: 0px;" />d) </span><span style="font-size: x-small; padding: 0px; margin: 0px;">rsync -av  &#8211;progress &#8211;temp-dir=/tmp &lt;src-dir&gt;/ &lt;dst-dir&gt;</span><br style="padding: 0px; margin: 0px;" /><span style="font-size: x-small; padding: 0px; margin: 0px;"><br style="padding: 0px; margin: 0px;" />命令说明<br style="padding: 0px; margin: 0px;" />&#8212;&#8212;&#8212;<br style="padding: 0px; margin: 0px;" />a) 同步src-dir目录下所有文件到dst-dir目录下<br style="padding: 0px; margin: 0px;" />b) 同步src-dir目录下所有文件到dst-dir/src-dir目录下<br style="padding: 0px; margin: 0px;" />c) 对src-dir目录内容向dst-dir目录下进行差异更新，有增加/更新则添加替换，有减少则对其删减<br style="padding: 0px; margin: 0px;" />d) 比a)多了</span><span style="font-size: x-small; padding: 0px; margin: 0px;">&#8211;temp-dir=/tmp，即指定/tmp为临时交换区，这样可以避免因目标目录空间不够引起的无法同步文件的错误。</span><br style="padding: 0px; margin: 0px;" /><span style="font-size: x-small; padding: 0px; margin: 0px;"><br style="padding: 0px; margin: 0px;" />参数说明<br style="padding: 0px; margin: 0px;" />&#8212;&#8212;&#8212;<br style="padding: 0px; margin: 0px;" />-a          相当于 -rlptgoD 的集合<br style="padding: 0px; margin: 0px;" />-u          等同于 &#8211;update，在目标文件比源文件新的情况下不更新<br style="padding: 0px; margin: 0px;" />-v          显示同步的文件<br style="padding: 0px; margin: 0px;" />&#8211;progress  显示文件同步时的百分比进度、传输速率<br style="padding: 0px; margin: 0px;" />&#8211;delete    删除目标目录中多于源目录的文件<br style="padding: 0px; margin: 0px;" /><br style="padding: 0px; margin: 0px;" /><br style="padding: 0px; margin: 0px;" />6.3 异地主机之间同步<br style="padding: 0px; margin: 0px;" /><br style="padding: 0px; margin: 0px;" />命令<br style="padding: 0px; margin: 0px;" />&#8212;&#8212;<br style="padding: 0px; margin: 0px;" />a) rsync -avz  &#8211;progress &lt;src-dir&gt; jack@192.168.0.1::&lt;dst-dir&gt;/</span><span style="font-size: x-small; padding: 0px; margin: 0px;"><br style="padding: 0px; margin: 0px;" />b) rsync -avz  &#8211;progress &lt;src-dir&gt; jack@192.168.0.1::&lt;dst-dir&gt;/ &#8211;password-file=/home/jack/rsync.jack</span><span style="font-size: x-small; padding: 0px; margin: 0px;"><br style="padding: 0px; margin: 0px;" />c) rsync -avuz  &#8211;progress &#8211;delete &lt;src-dir&gt; jack@192.168.0.1::&lt;dst-dir&gt;/ &#8211;password-file=/home/jack/rsync.jack</span><span style="font-size: x-small; padding: 0px; margin: 0px;"><br style="padding: 0px; margin: 0px;" />d) rsync -avz  &#8211;progress jack@192.168.0.1::&lt;dst-dir&gt;/&lt;src-dir&gt; &lt;dst-dir&gt;<br style="padding: 0px; margin: 0px;" /><br style="padding: 0px; margin: 0px;" />命令说明<br style="padding: 0px; margin: 0px;" />&#8212;&#8212;&#8212;<br style="padding: 0px; margin: 0px;" />a) 同步本地&lt;src-dir&gt;目录的内容到远程主机192.168.0.1的&lt;dst-dir&gt;目录下，jack是rsync数据库用户(参见3. /etc/rsync.secrets)<br style="padding: 0px; margin: 0px;" />b) 通过自动读取用户密码而实现非交互登录文件同步</span><span style="font-size: x-small; padding: 0px; margin: 0px;"><br style="padding: 0px; margin: 0px;" />c) 较b)多了-u和&#8211;delete</span><br style="padding: 0px; margin: 0px;" /><span style="font-size: x-small; padding: 0px; margin: 0px;">d) 同步远程主机内容到本地目录<br style="padding: 0px; margin: 0px;" /><br style="padding: 0px; margin: 0px;" /><br style="padding: 0px; margin: 0px;" />参数说明<br style="padding: 0px; margin: 0px;" />&#8212;&#8212;&#8212;<br style="padding: 0px; margin: 0px;" />-z                等同于 &#8211;compress，对传输的文件压缩，这对节约网络带宽或在网络资源紧张的情况下非常有用<br style="padding: 0px; margin: 0px;" />&#8211;password-file   引用192.168.0.1上rsync用户jack口令的本地文件，创建方法如下<br style="padding: 0px; margin: 0px;" /> shell&gt; echo &#8220;jackpwd&#8221; &gt;&gt; /home/jack/</span><span style="font-size: x-small; padding: 0px; margin: 0px;">rsync.jack</span><span style="font-size: x-small; padding: 0px; margin: 0px;"><br style="padding: 0px; margin: 0px;" /> shell&gt; chown jack:wheel </span><span style="font-size: x-small; padding: 0px; margin: 0px;">/home/jack/</span><span style="font-size: x-small; padding: 0px; margin: 0px;">rsync.jack</span><br style="padding: 0px; margin: 0px;" /><span style="font-size: x-small; padding: 0px; margin: 0px;"> shell&gt; chmod 600 </span><span style="font-size: x-small; padding: 0px; margin: 0px;">/home/jack/</span><span style="font-size: x-small; padding: 0px; margin: 0px;">rsync.jack</span><br style="padding: 0px; margin: 0px;" /><span style="font-size: x-small; padding: 0px; margin: 0px;"><br style="padding: 0px; margin: 0px;" /><br style="padding: 0px; margin: 0px;" /><br style="padding: 0px; margin: 0px;" /><br style="padding: 0px; margin: 0px;" /><br style="padding: 0px; margin: 0px;" /><br style="padding: 0px; margin: 0px;" /><br style="padding: 0px; margin: 0px;" /><br style="padding: 0px; margin: 0px;" />===============================================<br style="padding: 0px; margin: 0px;" />2006/07/18  Created  by wandering <br style="padding: 0px; margin: 0px;" />2008/10/12  重新对文档整理，修正了部分错误，增加一些内容<br style="padding: 0px; margin: 0px;" />2008/10/22  增加了 &#8211;temp-dir 参数<br style="padding: 0px; margin: 0px;" /><br style="padding: 0px; margin: 0px;" /><br style="padding: 0px; margin: 0px;" /><br style="padding: 0px; margin: 0px;" /> </span></p>
<p style="padding-top: 0px; padding-right: 0px; padding-bottom: 15px; padding-left: 0px; margin: 0px;">本文出自 Wandering&#8217;s Blog 博客</p>
]]></content:encoded>
			<wfw:commentRss>http://www.glyle.net/archives/203/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>编写脚本让mysql数据库自动备份至本地</title>
		<link>http://www.glyle.net/archives/200</link>
		<comments>http://www.glyle.net/archives/200#comments</comments>
		<pubDate>Tue, 01 Mar 2011 06:21:33 +0000</pubDate>
		<dc:creator>果果</dc:creator>
				<category><![CDATA[For Linux]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[备份]]></category>
		<category><![CDATA[脚本]]></category>

		<guid isPermaLink="false">http://www.glyle.net/?p=200</guid>
		<description><![CDATA[1、创建备份文件夹

#cd /www
#makedir backup
2、编写运行脚本

#vi autobackup

写入以下内容：
该脚本每天凌晨执行一次，自动备份，而且只保留最近五天的备份在服务器上。
#!/bin/bash 

#This is a ShellScri... ]]></description>
			<content:encoded><![CDATA[<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 1.5em; margin-left: 0px; font-weight: inherit; font-style: inherit; font-size: 12px; font-family: inherit; vertical-align: baseline; padding: 0px; border: 0px initial initial;">1、创建备份文件夹</p>
<blockquote style="margin-top: 10px; margin-right: 10px; margin-bottom: 0px; margin-left: 10px; font-weight: inherit; font-style: normal; font-size: 12px; font-family: inherit; vertical-align: baseline; color: #000000; background-image: url(http://www.lesishu.com/wp-content/themes/googlechrome/images/quote.gif); background-attachment: initial; background-origin: initial; background-clip: initial; background-color: #f4f5f7; background-position: initial initial; background-repeat: no-repeat no-repeat; padding: 0px; border: 0px initial initial;">
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 1.5em; margin-left: 0px; padding-top: 10px; padding-right: 10px; padding-bottom: 10px; padding-left: 30px; font-weight: inherit; font-style: inherit; font-size: 12px; font-family: inherit; vertical-align: baseline; border: 0px initial initial;">#cd /www<br />
#makedir backup</p></blockquote>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 1.5em; margin-left: 0px; font-weight: inherit; font-style: inherit; font-size: 12px; font-family: inherit; vertical-align: baseline; padding: 0px; border: 0px initial initial;">2、编写运行脚本</p>
<blockquote style="margin-top: 10px; margin-right: 10px; margin-bottom: 0px; margin-left: 10px; font-weight: inherit; font-style: normal; font-size: 12px; font-family: inherit; vertical-align: baseline; color: #000000; background-image: url(http://www.lesishu.com/wp-content/themes/googlechrome/images/quote.gif); background-attachment: initial; background-origin: initial; background-clip: initial; background-color: #f4f5f7; background-position: initial initial; background-repeat: no-repeat no-repeat; padding: 0px; border: 0px initial initial;">
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 1.5em; margin-left: 0px; padding-top: 10px; padding-right: 10px; padding-bottom: 10px; padding-left: 30px; font-weight: inherit; font-style: inherit; font-size: 12px; font-family: inherit; vertical-align: baseline; border: 0px initial initial;">#vi autobackup</p>
</blockquote>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 1.5em; margin-left: 0px; font-weight: inherit; font-style: inherit; font-size: 12px; font-family: inherit; vertical-align: baseline; padding: 0px; border: 0px initial initial;">写入以下内容：</p>
<p>该脚本每天凌晨执行一次，自动备份，而且只保留最近五天的备份在服务器上。</p>
<pre>#!/bin/bash 

#This is a ShellScript For Auto DB Backup 

#Powered by aspbiz 

#2004-09 

#Setting 

#设置数据库名，数据库登录名，密码，备份路径，日志路径，数据文件位置，以及备份方式 

#默认情况下备份方式是tar，还可以是mysqldump,mysqldotcopy 

#默认情况下，用root(空)登录mysql数据库，备份至/root/dbxxxxx.tgz 

DBName=mysql 

DBUser=root 

DBPasswd= 

BackupPath=/root/ 

LogFile=/root/db.log 

DBPath=/var/lib/mysql/ 

#BackupMethod=mysqldump 

#BackupMethod=mysqlhotcopy 

#BackupMethod=tar 

#Setting End 

NewFile="$BackupPath"db$(date +%y%m%d).tgz 

DumpFile="$BackupPath"db$(date +%y%m%d) 

OldFile="$BackupPath"db$(date +%y%m%d --date='5 days ago').tgz 

echo "-------------------------------------------" &gt;;&gt;; $LogFile 

echo $(date +"%y-%m-%d %H:%M:%S") &gt;;&gt;; $LogFile 

echo "--------------------------" &gt;;&gt;; $LogFile 

#Delete Old File 

if [ -f $OldFile ] 

then 

   rm -f $OldFile &gt;;&gt;; $LogFile 2&gt;;&amp;1 

   echo "[$OldFile]Delete Old File Success!" &gt;;&gt;; $LogFile 

else 

   echo "[$OldFile]No Old Backup File!" &gt;;&gt;; $LogFile 

fi 

if [ -f $NewFile ] 

then 

   echo "[$NewFile]The Backup File is exists,Can't Backup!" &gt;;&gt;; $LogFile 

else 

   case $BackupMethod in 

   mysqldump) 

      if [ -z $DBPasswd ] 

      then 

         mysqldump -u $DBUser --opt $DBName &gt;; $DumpFile 

      else 

         mysqldump -u $DBUser -p$DBPasswd --opt $DBName &gt;; $DumpFile 

      fi 

      tar czvf $NewFile $DumpFile &gt;;&gt;; $LogFile 2&gt;;&amp;1 

      echo "[$NewFile]Backup Success!" &gt;;&gt;; $LogFile 

      rm -rf $DumpFile 

      ;; 

   mysqlhotcopy) 

      rm -rf $DumpFile 

      mkdir $DumpFile 

      if [ -z $DBPasswd ] 

      then 

         mysqlhotcopy -u $DBUser $DBName $DumpFile &gt;;&gt;; $LogFile 2&gt;;&amp;1 

      else 

         mysqlhotcopy -u $DBUser -p $DBPasswd $DBName $DumpFile &gt;;&gt;;$LogFile 2&gt;;&amp;1 

      fi 

      tar czvf $NewFile $DumpFile &gt;;&gt;; $LogFile 2&gt;;&amp;1 

      echo "[$NewFile]Backup Success!" &gt;;&gt;; $LogFile 

      rm -rf $DumpFile 

      ;; 

   *) 

      /etc/init.d/mysqld stop &gt;;/dev/null 2&gt;;&amp;1 

      tar czvf $NewFile $DBPath$DBName &gt;;&gt;; $LogFile 2&gt;;&amp;1 

      /etc/init.d/mysqld start &gt;;/dev/null 2&gt;;&amp;1 

      echo "[$NewFile]Backup Success!" &gt;;&gt;; $LogFile 

      ;; 

   esac 

fi 

echo "-------------------------------------------" &gt;;&gt;; $LogFile</pre>
<p>3、为脚本添加执行权限</p>
<p>#chmod +x autobackup</p>
<p>4、让crontab来完成定期执行的任务</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 1.5em; margin-left: 0px; font-weight: inherit; font-style: inherit; font-size: 12px; font-family: inherit; vertical-align: baseline; padding: 0px; border: 0px initial initial;">Redhat的crontab采用按时间调用4个目录（/etc/cron.hourly：每小时；/etc/cron.daily：每天；/etc/cron.weekly：每周；/etc/cron.monthly：每月）中脚本出来运行的方式。</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 1.5em; margin-left: 0px; font-weight: inherit; font-style: inherit; font-size: 12px; font-family: inherit; vertical-align: baseline; padding: 0px; border: 0px initial initial;">Redhat中只需要将刚才编辑的脚本复制到相应的目录即可。</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 1.5em; margin-left: 0px; font-weight: inherit; font-style: inherit; font-size: 12px; font-family: inherit; vertical-align: baseline; padding: 0px; border: 0px initial initial;">5、重启crontab</p>
<blockquote style="margin-top: 10px; margin-right: 10px; margin-bottom: 0px; margin-left: 10px; font-weight: inherit; font-style: normal; font-size: 12px; font-family: inherit; vertical-align: baseline; color: #000000; background-image: url(http://www.lesishu.com/wp-content/themes/googlechrome/images/quote.gif); background-attachment: initial; background-origin: initial; background-clip: initial; background-color: #f4f5f7; background-position: initial initial; background-repeat: no-repeat no-repeat; padding: 0px; border: 0px initial initial;">
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 1.5em; margin-left: 0px; padding-top: 10px; padding-right: 10px; padding-bottom: 10px; padding-left: 30px; font-weight: inherit; font-style: inherit; font-size: 12px; font-family: inherit; vertical-align: baseline; border: 0px initial initial;">#/etc/rc.d/init.d/crond restart</p>
</blockquote>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 1.5em; margin-left: 0px; font-weight: inherit; font-style: inherit; font-size: 12px; font-family: inherit; vertical-align: baseline; padding: 0px; border: 0px initial initial;">完成</p>
]]></content:encoded>
			<wfw:commentRss>http://www.glyle.net/archives/200/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>mod_evasive模块防止DDOS攻击2010修订版</title>
		<link>http://www.glyle.net/archives/151</link>
		<comments>http://www.glyle.net/archives/151#comments</comments>
		<pubDate>Sun, 11 Jul 2010 14:44:03 +0000</pubDate>
		<dc:creator>果果</dc:creator>
				<category><![CDATA[For Linux]]></category>

		<guid isPermaLink="false">http://www.glyle.net/?p=151</guid>
		<description><![CDATA[网上找到的资料都是过时的，链接不可用，修正版本如下，mark一下备用
ddos全名是Distribution Denial of service (分布式拒绝服务攻击),很多DOS攻击源一起攻击某台服务器就组成了DDOS攻击
1.下载
cd /tmp
... ]]></description>
			<content:encoded><![CDATA[<p>网上找到的资料都是过时的，链接不可用，修正版本如下，mark一下备用</p>
<p>ddos全名是Distribution Denial of service (分布式拒绝服务攻击),很多DOS攻击源一起攻击某台服务器就组成了DDOS攻击<br />
1.下载<br />
cd /tmp<br />
wget <a href="http://www.zdziarski.com/blog/wp-content/uploads/2010/02/mod_evasive_1.10.1.tar.gz">http://www.zdziarski.com/blog/wp-content/uploads/2010/02/mod_evasive_1.10.1.tar.gz</a><br />
tar zxf mod_evasive_1.10.1.tar.gz</p>
<p>2.安装<br />
cd mod_evasive<br />
/usr/local/apache/bin/apxs -c -i -a mod_evasive20.c</p>
<p>3.配置<br />
vi /usr/local/apache2/conf/httpd.conf<br />
添加下面内容<br />
LoadModule dosevasive20_module libexec/apache22/mod_dosevasive20.so<br />
&lt;IfModule mod_dosevasive20.c&gt;<br />
DOSHashTableSize 3097<br />
DOSPageCount 5<br />
DOSSiteCount 100<br />
DOSPageInterval 2<br />
DOSSiteInterval 2<br />
DOSBlockingPeriod 600<br />
&lt;/IfModule&gt;<br />
4.重新启动apache2，配置完毕。<br />
5.测试<br />
打开IE ，访问网站 <a href="http://yourdomain.com/">http://yourdomain.com</a>  不断快速刷新网页就会出现错误提示，说明防泛有效，查看/tmp目录会dow.ip 日志文件。<br />
说明：<br />
DOSHashTableSize 3097 记录和存放黑名单的哈西表大小，如果服务器访问量很大，可以加大该值<br />
DOSPageCount 5 同一个页面在同一时间内可以被统一个用户访问的次数，超过该数字就会被列为攻击，同一时间的数值可以在DosPageInterval参数中设置。<br />
DOSSiteCount 50 同一个用户在同一个网站内可以同时打开的访问数，同一个时间的数值在DOSSiteInterval中设置。<br />
DOSPageInterval 2 设置DOSPageCount中时间长度标准，默认值为1。<br />
DOSSiteInterval 2 设置DOSSiteCount中时间长度标准。<br />
DOSBlockingPeriod 10 被封时间间隔秒，这中间会收到 403 (Forbidden) 的返回。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.glyle.net/archives/151/feed</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>phpmyadmin导入mysql数据库提示&#8221;无法读取文件&#8221;</title>
		<link>http://www.glyle.net/archives/136</link>
		<comments>http://www.glyle.net/archives/136#comments</comments>
		<pubDate>Thu, 27 May 2010 07:55:17 +0000</pubDate>
		<dc:creator>果果</dc:creator>
				<category><![CDATA[For Linux]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[phpmyadmin]]></category>
		<category><![CDATA[无法读取文件]]></category>

		<guid isPermaLink="false">http://www.glyle.net/?p=136</guid>
		<description><![CDATA[今天碰到的问题，使用phpmyadmin不能导入数据。由于有root权限，可以直接登录mysql导入数据，mark一下
打开cmd，//进入mysql数据库控制台，
mysql -u root -p
mysql&#62;use 数据库  //进入对应的数据库
//然... ]]></description>
			<content:encoded><![CDATA[<p>今天碰到的问题，使用phpmyadmin不能导入数据。由于有root权限，可以直接登录mysql导入数据，mark一下</p>
<pre style="FONT-FAMILY: monospace">打开cmd，//进入mysql数据库控制台，
mysql -u root -p
mysql&gt;use 数据库  //进入对应的数据库
//然后使用source命令，后面参数为脚本文件(如这里用到的.sql)www.ctusky.com
mysql&gt;source d:\database.sql
mysql&gt;exit</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.glyle.net/archives/136/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Centos下zend Optimizer无法启动的解决方法</title>
		<link>http://www.glyle.net/archives/100</link>
		<comments>http://www.glyle.net/archives/100#comments</comments>
		<pubDate>Thu, 04 Mar 2010 09:49:30 +0000</pubDate>
		<dc:creator>果果</dc:creator>
				<category><![CDATA[For Linux]]></category>
		<category><![CDATA[centos]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[zend]]></category>

		<guid isPermaLink="false">http://www.glyle.net/?p=100</guid>
		<description><![CDATA[网上搜索一下，基本都是同一篇文章，提供了3种不同情况的解决方法，我试遍了所有方法都不成功，最后重启了centos，搞定了。make一下以备以后使用
1. 对于 php.ini文件路径有问题( 我的在 phpinf... ]]></description>
			<content:encoded><![CDATA[<p>网上搜索一下，基本都是同一篇文章，提供了3种不同情况的解决方法，我试遍了所有方法都不成功，最后重启了centos，搞定了。make一下以备以后使用</p>
<p>1. 对于 php.ini文件路径有问题( 我的在 phpinfo()显示php.ini路径正确，我就不用这个方法 )</p>
<p>解决方法</p>
<p>php -i | grep php.ini 就可以找到当前php使用的php.ini文件</p>
<p>比如, 编译安装时没有指定php.ini存放路径, 那么默认php.ini会放在/usr/local/lib下面</p>
<p>最好是在编译PHP时指定PHP配置文件的路径 如: &#8211;with-config-file-path=/usr/local/etc</p>
<p>而一般zend默认安装 php.ini在/etc/目录下面或/usr/local/Zend/etc 所以需要在安装的时候手工指定我们php.ini文件存放的位置</p>
<p>如果, 不知道现在的PHP 的配置文件具体位置的话 可以查看一下:</p>
<p>php -i | grep php.ini</p>
<p>如果php optimizer安装好了 却发现不能加载的话可以 手工指定读取php.ini文件的位置</p>
<p>php -c /etc/ -v 如果可以看到zend opt正确加载</p>
<p>那么做个连接就好了 连接到php默认读取的php.ini路径下面</p>
<p>比如</p>
<p>ln -sf /etc/php.ini /usr/local/lib</p>
<p>[root@localhost /]# php -v</p>
<p>PHP 5.2.5 (cli) (built: Jan 22 2006 12:59:19)</p>
<p>Copyright (c) 1997-2006 The PHP Group</p>
<p>Zend Engine v1.3.0, Copyright (c) 1998-2004 Zend Technologies</p>
<p>with Zend Extension Manager v1.0.9, Copyright (c) 2003-2006, by Zend Technologies</p>
<p>with Zend Optimizer v3.3.2, Copyright (c) 1998-2006, by Zend Technologies</p>
<p>Ok 正常了 phpinfo()看到的当然也是一样的</p>
<p>2. 调用库文件的问题</p>
<p>有的时候还有一些情况下 php -i 或php -v 在控制台下可以看到zend opt,</p>
<p>但是 apache 执行phpinfo的输出里面却看不到</p>
<p>一般是因为 调用php的时候zend模块不能加载, 比如AS4里面 就是这样的</p>
<p>如as4下面默认的php安装后读取库文件的路径 是在/usr/lib下面 ，</p>
<p>而php.ini文件中加载zend模块是在zend安装路径的lib目录中</p>
<p>比如/usr/local/Zend/lib 这时apache在执行php时 不能加载zend模块 所以 在控制台里php -v 可以正常</p>
<p>但是apache 却没有加载zend。</p>
<p>解决办法</p>
<p>先把zend模块copy到</p>
<p>/usr/lib里面 然后改一下php.ini里面zend加载模块部分</p>
<p>( 我在 php -i 中显示 Failed loading /usr/local/Zend/lib/Optimizer-3.3.0/php-5.2.x/ZendOptimizer.so: /usr/local/Zend/lib/Optimizer-3.3.0/php-5.2.x/ZendOptimizer.so: cannot restore segment prot after reloc: Permission denied</p>
<p>看了这个原来是权限问题)</p>
<p>3. 最恶心的SElinux问题</p>
<p>SElinux导致PHP不能使用zend/lib下的库文件。所以，即便是做了link也不行。只能够拷贝库文件到有权限的目录。或者直接关掉SElinux</p>
<p>但我已 在 /etc/selinux/config 的 SELINUX=disabled 关掉SElinux 还是不行, 再网络查询发现</p>
<p>在你保证SElinux 被disable后.还执行下</p>
<p>chcon -t texrel_shlib_t 命令</p>
<p>如: chcon -t texrel_shlib_t /usr/local/Zend/lib/Optimizer-3.3.0/php-5.2.x/ZendOptimizer.so (这个文件视具体执行文件.)</p>
<p>就可以了。</p>
<p>我的解决的情况是:</p>
<p>1. 关闭SElinux</p>
<p>2. 运行 #chcon -t texrel_shlib_t /usr/local/Zend/lib/Optimizer-3.3.0/php-5.2.x/ZendOptimizer.so</p>
<p>就可以了。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.glyle.net/archives/100/feed</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
	</channel>
</rss>

