<?xml version="1.0" encoding="UTF-8"?>
  <feed xmlns="http://www.w3.org/2005/Atom">
  <title type="html"><![CDATA[海天旭日的 BLOG]]></title>
  <subtitle type="html"><![CDATA[相信风雨之后终见彩虹]]></subtitle>
  <id>http://www.xpb.cn/blog/</id> 
  <link rel="alternate" type="text/html" href="http://www.xpb.cn/blog/" /> 
  <link rel="self" type="application/atom+xml" href="http://www.xpb.cn/blog/atom.asp" /> 
  <generator uri="http://www.pjhome.net/" version="2.4.1022">PJBlog2</generator> 
  <updated>2010-08-24T18:03:41+08:00</updated> 

  <entry>
	  <title type="html"><![CDATA[美国的服务器稳定运行一个月了]]></title>
	  <author>
		 <name>Admin</name>
		 <uri>http://www.xpb.cn/blog/</uri>
		 <email>xiaopbx@163.com</email>
	  </author>
	  <category term="" scheme="http://www.xpb.cn/blog/default.asp?cateID=1" label="生活点滴" /> 
	  <updated>2010-08-24T18:03:41+08:00</updated>
	  <published>2010-08-24T18:03:41+08:00</published>
		  <summary type="html"><![CDATA[<div align="center"><a href="http://www.xpb.cn/blog/attachments/month_1008/i201082418230.jpg" class="highslide" onclick="return hs.expand(this, {captionId: 'caption1'})"><img src="http://www.xpb.cn/blog/attachments/month_1008/i201082418230.jpg" border="0"></a><br/><br/><a href="http://www.xpb.cn/blog/attachments/month_1008/d201082418239.jpg" class="highslide" onclick="return hs.expand(this, {captionId: 'caption1'})"><img src="http://www.xpb.cn/blog/attachments/month_1008/d201082418239.jpg" border="0"></a></div><br/><br/><br/>就现在的结果&nbsp;比我国内的服务器还稳定，国内的每个月都得有那么几次整个机房遭受攻击的时候。]]></summary>
	  <link rel="alternate" type="text/html" href="http://www.xpb.cn/blog/default.asp?id=742" /> 
	  <id>http://www.xpb.cn/blog/default.asp?id=742</id> 
  </entry>	
		
  <entry>
	  <title type="html"><![CDATA[世界海底光缆分布图]]></title>
	  <author>
		 <name>Admin</name>
		 <uri>http://www.xpb.cn/blog/</uri>
		 <email>xiaopbx@163.com</email>
	  </author>
	  <category term="" scheme="http://www.xpb.cn/blog/default.asp?cateID=3" label="精品网文" /> 
	  <updated>2010-08-21T21:23:07+08:00</updated>
	  <published>2010-08-21T21:23:07+08:00</published>
		  <summary type="html"><![CDATA[<DIV class=asset-body>
<P>海底光缆是国际互联网的骨架。光缆的多少，代表一国与互联网的联系是否紧密。</P></DIV>
<DIV class=asset-more id=more>
<P>有人利用微软的Bing地图，以及wikipedia的数据，做出了一幅互动式的<A href="http://www.cablemap.info/" target=_blank>世界海底光缆分布图</A>。真是厉害啊。</P>
<P><A href="http://www.cablemap.info/" target=_blank><img src="http://www.xpb.cn/blog//blog/uploadfile/Image/R_20100821212227551.jpg"></A></P>
<P>我见过的这类地图中，它是最好用的一个。</P>
<P>从地图上可以看到，中国大陆的海底光缆连接点只有三个，因此非常容易对出入境的信息进行控制。</P>
<P><img src="http://www.xpb.cn/blog//blog/uploadfile/Image/R_20100821212230339.jpg"></P>
<P>第一个是青岛（2条光缆）。</P>
<P><img src="http://www.xpb.cn/blog//blog/uploadfile/Image/R_20100821212232139.jpg"></P>
<P>第二个是上海（6条光缆）。</P>
<P><img src="http://www.xpb.cn/blog//blog/uploadfile/Image/R_20100821212234896.jpg"></P>
<P>第三个是汕头（3条光缆）。</P>
<P><img src="http://www.xpb.cn/blog//blog/uploadfile/Image/R_20100821212237296.jpg"></P>
<P>由于光缆之间存在重合，所以实际上，中国大陆与Internet的所有通道，就是3个入口6条光缆。</P>
<P><STRONG>1. APCN2（亚太二号）海底光缆</STRONG></P>
<P>带宽：2.56Tbps</P>
<P>长度：19000km</P>
<P>经过地区：中国大陆、香港、台湾、日本、韩国、马来西亚、菲律宾。</P>
<P>入境地点：汕头，上海。</P>
<P>网址：<A href="http://en.wikipedia.org/wiki/APCN_2_(cable_system)" target=_blank>http://en.wikipedia.org/wiki/APCN_2_(cable_system)</A></P>
<P><img src="http://www.xpb.cn/blog//blog/uploadfile/Image/R_20100821212241130.jpg"></P>
<P><STRONG>2. CUCN（中美）海底光缆</STRONG></P>
<P>带宽：2.2Tbps</P>
<P>长度：30000km</P>
<P>经过地区：中国大陆，台湾，日本，韩国，美国。</P>
<P>入境地点：汕头，上海。</P>
<P>网址：<A href="http://en.wikipedia.org/wiki/CUCN_(cable_system)" target=_blank>http://en.wikipedia.org/wiki/CUCN_(cable_system)</A></P>
<P><img src="http://www.xpb.cn/blog//blog/uploadfile/Image/R_20100821212243885.jpg"></P>
<P><STRONG>3. SEA-ME-WE 3（亚欧）海底光缆</STRONG></P>
<P>带宽：960Gbps</P>
<P>长度：39000km</P>
<P>经过地区：东亚，东南亚，中东，西欧。</P>
<P>入境地点：汕头，上海。</P>
<P>网址：<A href="http://en.wikipedia.org/wiki/SEA-ME-WE_3" target=_blank>http://en.wikipedia.org/wiki/SEA-ME-WE_3</A></P>
<P><img src="http://www.xpb.cn/blog//blog/uploadfile/Image/R_20100821212245514.jpg"></P>
<P><STRONG>4. EAC-C2C海底光缆</STRONG></P>
<P>带宽：10.24Tbps</P>
<P>长度：36800km</P>
<P>经过地区：亚太地区</P>
<P>入境地点：上海，青岛</P>
<P>网址：<A href="http://en.wikipedia.org/wiki/C2C_(cable_system)" target=_blank>http://en.wikipedia.org/wiki/C2C_(cable_system)</A></P>
<P><img src="http://www.xpb.cn/blog//blog/uploadfile/Image/R_20100821212247454.jpg"></P>
<P><STRONG>5. FLAG海底光缆</STRONG></P>
<P>带宽：10Gbps</P>
<P>长度：27000km</P>
<P>经过地区：西欧，中东，南亚，东亚</P>
<P>入境地点：上海</P>
<P>网址：<A href="http://en.wikipedia.org/wiki/Fiber-Optic_Link_Around_the_Globe" target=_blank>http://en.wikipedia.org/wiki/Fiber-Optic_Link_Around_the_Globe</A></P>
<P><img src="http://www.xpb.cn/blog//blog/uploadfile/Image/R_20100821212248789.jpg"></P>
<P><STRONG>6. Trans-Pacific Express（TPE，泛太平洋）海底光缆</STRONG></P>
<P>带宽：5.12Tbps</P>
<P>长度：17700km</P>
<P>经过地区：中国大陆，台湾，韩国，美国</P>
<P>入境地点：上海，青岛</P>
<P>网址：<A href="http://en.wikipedia.org/wiki/TPE_(cable_system)" target=_blank>http://en.wikipedia.org/wiki/TPE_(cable_system)</A></P>
<P><img src="http://www.xpb.cn/blog//blog/uploadfile/Image/R_20100821212251301.jpg"></P>
<P>=============================</P>
<P>作为比较，台湾有9条光缆，香港和韩国各有11条光缆，而日本至少有11个入口15条光缆。</P></DIV>]]></summary>
	  <link rel="alternate" type="text/html" href="http://www.xpb.cn/blog/default.asp?id=741" /> 
	  <id>http://www.xpb.cn/blog/default.asp?id=741</id> 
  </entry>	
		
  <entry>
	  <title type="html"><![CDATA[成功配置好了Windows下的Rsync备份]]></title>
	  <author>
		 <name>Admin</name>
		 <uri>http://www.xpb.cn/blog/</uri>
		 <email>xiaopbx@163.com</email>
	  </author>
	  <category term="" scheme="http://www.xpb.cn/blog/default.asp?cateID=16" label="原创文章" /> 
	  <updated>2010-08-07T11:31:51+08:00</updated>
	  <published>2010-08-07T11:31:51+08:00</published>
		  <summary type="html"><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Rsync是类unix系统下的十分好用的一个数据镜像备份工具。由于rsync特殊的算法，可使本地和远程两台主机的文件，目录之间，快速同步镜像，远程数据备份等功能。在同步过程中，rsync只同步有变化的文件，甚至在一个文件里只同步有变化的部分。所以初次同步完一次之后，重新同步的速度非常快。现在我在美国的linux服务器就是用的Rsync每日自动将数据备份至国内的linux服务器，尽管从美国到中国的网速不算快，但同步备份一次用不了几分钟的时间。因为我服务器上网站更新的不是十分频繁，所以需要同步的文件很少，甚至用不一分钟的时间。<br/><br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;至于Windows下的Rsync上会鼓捣了一次，没成功，就没再详细弄，因为现在的服务器用了好几年了，尽管服务器上做了RAID1备份，但还是不放心，之前是采用的定期打包备份到异地服务器的方法。但随着数据的增多（几十个G的零散文件）打包及传输所用的时间和精力可想而知。<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;这次配置好了Windows下的Rsync，第一次同步的时候发现速度很快，远比FTP要快。因为网站文件非常零散，用ftp传输速度并不快。使用的时候发现Rsync是先把所有的网站目录创建好，再往目录里面写文件。我的理解是比ftp少了队列文件所需要的时间。<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;这回方便了，备份可以直接写一个批处理文件。然后用Windows的计划任务定期执行即可。按我的情况，近200个网站，近30G的文件，每周同步一次的话，同步时间也不过十来分钟。粗略算一下也差不多，按1M/S的速度，十分钟是600M左右。有时这些网站一个周增加的文件还不到600M甚至更少。如果是在局域网中的机器，那就更快了。<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;我是从江苏电信的服务器备份到日照网通的服务器，由于电信和网通之间的瓶颈，两台服务器之间的速度不是很好。但深夜和早晨时速度还可以，一般都能达到10Mbps左右，所以建议大家在同步或备份的时候，在计划任务中尽量选择深夜或凌晨进行备份。既不影响网站的访问，又保证了速度。另外我发现在SQLserver运行的时候对SQLserver数据库文件无法进行复制从操作，所以也无法进行异地备份工作。可以采取的办法是，设置SQLserver自动备份，同步备份的时候只同步SQLserver的备份文件，或者先用批处理停止SQLserver&nbsp;再进行同步。据我的测试Mysql的数据文件是可以在运行中直接同步的。<br/><br/>&nbsp;&nbsp;&nbsp;具体的配置方法，有时间再写。网上也不少，可以多找几篇仔细参照配置一下，就能成功。<br/><br/><span style="color:Red"><strong>特别注意：在操作的时候一定要先用其他目录测试正常后再进行数据备份。尤其要注意，一定要分清两台服务器之间哪是Rsync服务器，哪是Rsync客户端。切记！</strong></span>]]></summary>
	  <link rel="alternate" type="text/html" href="http://www.xpb.cn/blog/default.asp?id=740" /> 
	  <id>http://www.xpb.cn/blog/default.asp?id=740</id> 
  </entry>	
		
  <entry>
	  <title type="html"><![CDATA[DDoS deflate - Linux下防御/减轻DDOS攻击]]></title>
	  <author>
		 <name>Admin</name>
		 <uri>http://www.xpb.cn/blog/</uri>
		 <email>xiaopbx@163.com</email>
	  </author>
	  <category term="" scheme="http://www.xpb.cn/blog/default.asp?cateID=19" label="资料共享" /> 
	  <updated>2010-08-04T14:29:33+08:00</updated>
	  <published>2010-08-04T14:29:33+08:00</published>
		  <summary type="html"><![CDATA[前言<br/>互联网如同现实社会一样充满钩心斗角，网站被DDOS也成为站长最头疼的事。在没有硬防的情况下，寻找软件代替是最直接的方法，比如用iptables，但是iptables不能在自动屏蔽，只能手动屏蔽。今天要说的就是一款能够自动屏蔽ddos攻击者IP的软件：DDoS&nbsp;deflate。<br/><br/>DDoS&nbsp;&nbsp;deflate介绍<br/>DDoS&nbsp;&nbsp;deflate是一款免费的用来防御和减轻DDoS攻击的脚本。它通过netstat监测跟踪创建大量网络连接的IP地址，在检测到某个结点超过预设的限&nbsp;制时，该程序会通过APF或IPTABLES禁止或阻挡这些IP.<br/><br/>DDoS&nbsp;&nbsp;deflate官方网站：<a href="http://deflate.medialayer.com/" target="_blank">http://deflate.medialayer.com/</a><br/><br/>如何确认是否受到DDOS攻击？<br/><br/>执行：<br/>netstat&nbsp;-ntu&nbsp;|&nbsp;awk&nbsp;&#39;{print&nbsp;$5}&#39;&nbsp;|&nbsp;cut&nbsp;-d:&nbsp;-f1&nbsp;|&nbsp;sort&nbsp;|&nbsp;uniq&nbsp;-c&nbsp;|&nbsp;sort&nbsp;-n执行后，将会显示服务器上所有的每个IP多少个连接数。<br/>以下是我自己用VPS测试的结果：<br/>li88-99:~#&nbsp;netstat&nbsp;-ntu&nbsp;|&nbsp;awk&nbsp;&#39;{print&nbsp;$5}&#39;&nbsp;|&nbsp;cut&nbsp;-d:&nbsp;-f1&nbsp;|&nbsp;sort&nbsp;|&nbsp;uniq&nbsp;-c&nbsp;|&nbsp;sort&nbsp;-n<br/>1&nbsp;114.226.9.132<br/>1&nbsp;174.129.237.157<br/>1&nbsp;58.60.118.142<br/>1&nbsp;Address<br/>1&nbsp;servers)<br/>2&nbsp;118.26.131.78<br/>3&nbsp;123.125.1.202<br/>3&nbsp;220.248.43.119<br/>4&nbsp;117.36.231.253<br/>4&nbsp;119.162.46.124<br/>6&nbsp;219.140.232.128<br/>8&nbsp;220.181.61.31&nbsp;&nbsp;&nbsp;&nbsp;VPS侦探&nbsp;<a href="http://www.vpser.net/" target="_blank">http://www.vpser.net/</a><br/>2311&nbsp;67.215.242.196每个IP几个、十几个或几十个连接数都还算比较正常，如果像上面成百上千肯定就不正常了。<br/>1、安装DDoS&nbsp;&nbsp;deflate<br/>wget&nbsp;<a href="http://www.inetbase.com/scri&#112;ts/ddos/install.sh" target="_blank">http://www.inetbase.com/scri&#112;ts/ddos/install.sh</a>&nbsp;&nbsp;&nbsp;//下载DDoS&nbsp;&nbsp;deflate<br/>chmod&nbsp;0700&nbsp;install.sh&nbsp;&nbsp;&nbsp;&nbsp;//添加权限<br/>./install.sh&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//执行2、配置DDoS&nbsp;&nbsp;deflate<br/>下面是DDoS&nbsp;&nbsp;deflate的默认配置位于/usr/local/ddos/ddos.conf&nbsp;，内容如下：<br/>#####&nbsp;Paths&nbsp;of&nbsp;the&nbsp;script&nbsp;and&nbsp;other&nbsp;files<br/>PROGDIR=&#34;/usr/local/ddos&#34;<br/>PROG=&#34;/usr/local/ddos/ddos.sh&#34;<br/>IGNORE_IP_LIST=&#34;/usr/local/ddos/ignore.ip.list&#34;&nbsp;&nbsp;//IP地址白名单<br/>CRON=&#34;/etc/cron.d/ddos.cron&#34;&nbsp;&nbsp;&nbsp;&nbsp;//定时执行程序<br/>APF=&#34;/etc/apf/apf&#34;<br/>IPT=&#34;/sbin/iptables&#34;<br/><br/>#####&nbsp;frequency&nbsp;in&nbsp;minutes&nbsp;for&nbsp;running&nbsp;the&nbsp;script<br/>#####&nbsp;Caution:&nbsp;Every&nbsp;time&nbsp;this&nbsp;setting&nbsp;is&nbsp;changed,&nbsp;run&nbsp;the&nbsp;script&nbsp;with&nbsp;--cron<br/>#####&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;option&nbsp;so&nbsp;that&nbsp;the&nbsp;new&nbsp;frequency&nbsp;takes&nbsp;effect<br/>FREQ=1&nbsp;&nbsp;&nbsp;//检查时间间隔，默认1分钟<br/><br/>#####&nbsp;How&nbsp;many&nbsp;connections&nbsp;define&nbsp;a&nbsp;bad&nbsp;IP?&nbsp;Indicate&nbsp;that&nbsp;below.<br/>NO_OF_CONNECTIONS=150&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//最大连接数，超过这个数IP就会被屏蔽，一般默认即可<br/><br/>#####&nbsp;APF_BAN=1&nbsp;(Make&nbsp;sure&nbsp;your&nbsp;APF&nbsp;version&nbsp;is&nbsp;atleast&nbsp;0.96)<br/>#####&nbsp;APF_BAN=0&nbsp;(Uses&nbsp;iptables&nbsp;for&nbsp;banning&nbsp;ips&nbsp;instead&nbsp;of&nbsp;APF)<br/>APF_BAN=1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//使用APF还是iptables，推荐使用iptables<br/><br/>#####&nbsp;KILL=0&nbsp;(Bad&nbsp;IPs&nbsp;are&#39;nt&nbsp;banned,&nbsp;good&nbsp;for&nbsp;interactive&nbsp;execution&nbsp;of&nbsp;script)<br/>#####&nbsp;KILL=1&nbsp;(Recommended&nbsp;setting)<br/>KILL=1&nbsp;&nbsp;&nbsp;//是否屏蔽IP，默认即可<br/><br/>#####&nbsp;An&nbsp;email&nbsp;is&nbsp;sent&nbsp;to&nbsp;the&nbsp;following&nbsp;address&nbsp;when&nbsp;an&nbsp;IP&nbsp;is&nbsp;banned.<br/>#####&nbsp;Blank&nbsp;would&nbsp;suppress&nbsp;sending&nbsp;of&nbsp;mails<br/>EMAIL_TO=&#34;root&#34;&nbsp;&nbsp;&nbsp;//当IP被屏蔽时给指定邮箱发送邮件，推荐使用，换成自己的邮箱即可<br/><br/>#####&nbsp;Number&nbsp;of&nbsp;seconds&nbsp;the&nbsp;banned&nbsp;ip&nbsp;should&nbsp;remain&nbsp;in&nbsp;blacklist.<br/>BAN_PERIOD=600&nbsp;&nbsp;&nbsp;&nbsp;//禁用IP时间，默认600秒，可根据情况调整用户可根据给默认配置文件加上的注释提示内容，修改配置文件。<br/>喜欢折腾的可以用Web压力测试软件测试一下效果，相信DDoS&nbsp;deflate还是能给你的VPS或服务器抵御一部分DDOS攻击，给你的网站更多的保护。<br/>]]></summary>
	  <link rel="alternate" type="text/html" href="http://www.xpb.cn/blog/default.asp?id=739" /> 
	  <id>http://www.xpb.cn/blog/default.asp?id=739</id> 
  </entry>	
		
  <entry>
	  <title type="html"><![CDATA[最好用的php生成缩略图类 ]]></title>
	  <author>
		 <name>Admin</name>
		 <uri>http://www.xpb.cn/blog/</uri>
		 <email>xiaopbx@163.com</email>
	  </author>
	  <category term="" scheme="http://www.xpb.cn/blog/default.asp?cateID=19" label="资料共享" /> 
	  <updated>2010-06-13T14:15:43+08:00</updated>
	  <published>2010-06-13T14:15:43+08:00</published>
		  <summary type="html"><![CDATA[<div class="UBBPanel"><div class="UBBTitle"><img src="http://www.xpb.cn/blog/images/code.gif" style="margin:0px 2px -3px 0px" alt="程序代码"/> 程序代码</div><div class="UBBContent"><br/><br/>&lt;?php&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>class&nbsp;resizeimage&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;//图片类型&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;$type;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;//实际宽度&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;$width;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;//实际高度&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;$height;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;//改变后的宽度&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;$resize_width;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;//改变后的高度&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;$resize_height;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;//是否裁图&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;$cut;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;//源图象&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;$srcimg;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;//目标图象地址&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;$dstimg;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;//临时创建的图象&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;$im;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;function&nbsp;resizeimage($img,&nbsp;$wid,&nbsp;$hei,$c,$dstpath)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$this-&gt;srcimg&nbsp;=&nbsp;$img;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$this-&gt;resize_width&nbsp;=&nbsp;$wid;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$this-&gt;resize_height&nbsp;=&nbsp;$hei;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$this-&gt;cut&nbsp;=&nbsp;$c;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//图片的类型&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>$this-&gt;type&nbsp;=&nbsp;strtolower(substr(strrchr($this-&gt;srcimg,&#34;.&#34;),1));&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//初始化图象&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$this-&gt;initi_img();&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//目标图象地址&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$this&nbsp;-&gt;&nbsp;dst_img($dstpath);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//--&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$this-&gt;width&nbsp;=&nbsp;imagesx($this-&gt;im);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$this-&gt;height&nbsp;=&nbsp;imagesy($this-&gt;im);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//生成图象&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$this-&gt;newimg();&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ImageDestroy&nbsp;($this-&gt;im);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;function&nbsp;newimg()&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//改变后的图象的比例&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$resize_ratio&nbsp;=&nbsp;($this-&gt;resize_width)/($this-&gt;resize_height);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//实际图象的比例&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$ratio&nbsp;=&nbsp;($this-&gt;width)/($this-&gt;height);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(($this-&gt;cut)==&#34;1&#34;)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//裁图&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if($ratio&gt;=$resize_ratio)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//高度优先&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$newimg&nbsp;=&nbsp;imagecr&#101;atetruecolor($this-&gt;resize_width,$this-&gt;resize_height);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;imagecopyresampled($newimg,&nbsp;$this-&gt;im,&nbsp;0,&nbsp;0,&nbsp;0,&nbsp;0,&nbsp;$this-&gt;resize_width,$this-&gt;resize_height,&nbsp;(($this-&gt;height)*$resize_ratio),&nbsp;$this-&gt;height);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ImageJpeg&nbsp;($newimg,$this-&gt;dstimg);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if($ratio&lt;$resize_ratio)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//宽度优先&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$newimg&nbsp;=&nbsp;imagecr&#101;atetruecolor($this-&gt;resize_width,$this-&gt;resize_height);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;imagecopyresampled($newimg,&nbsp;$this-&gt;im,&nbsp;0,&nbsp;0,&nbsp;0,&nbsp;0,&nbsp;$this-&gt;resize_width,&nbsp;$this-&gt;resize_height,&nbsp;$this-&gt;width,&nbsp;(($this-&gt;width)/$resize_ratio));&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ImageJpeg&nbsp;($newimg,$this-&gt;dstimg);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//不裁图&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if($ratio&gt;=$resize_ratio)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$newimg&nbsp;=&nbsp;imagecr&#101;atetruecolor($this-&gt;resize_width,($this-&gt;resize_width)/$ratio);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;imagecopyresampled($newimg,&nbsp;$this-&gt;im,&nbsp;0,&nbsp;0,&nbsp;0,&nbsp;0,&nbsp;$this-&gt;resize_width,&nbsp;($this-&gt;resize_width)/$ratio,&nbsp;$this-&gt;width,&nbsp;$this-&gt;height);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ImageJpeg&nbsp;($newimg,$this-&gt;dstimg);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if($ratio&lt;$resize_ratio)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$newimg&nbsp;=&nbsp;imagecr&#101;atetruecolor(($this-&gt;resize_height)*$ratio,$this-&gt;resize_height);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;imagecopyresampled($newimg,&nbsp;$this-&gt;im,&nbsp;0,&nbsp;0,&nbsp;0,&nbsp;0,&nbsp;($this-&gt;resize_height)*$ratio,&nbsp;$this-&gt;resize_height,&nbsp;$this-&gt;width,&nbsp;$this-&gt;height);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ImageJpeg&nbsp;($newimg,$this-&gt;dstimg);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;//初始化图象&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;function&nbsp;initi_img()&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if($this-&gt;type==&#34;jpg&#34;)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$this-&gt;im&nbsp;=&nbsp;imagecr&#101;atefromjpeg($this-&gt;srcimg);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if($this-&gt;type==&#34;gif&#34;)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$this-&gt;im&nbsp;=&nbsp;imagecr&#101;atefromgif($this-&gt;srcimg);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if($this-&gt;type==&#34;png&#34;)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$this-&gt;im&nbsp;=&nbsp;imagecr&#101;atefrompng($this-&gt;srcimg);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;//图象目标地址&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;function&nbsp;dst_img($dstpath)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$full_length&nbsp;&nbsp;=&nbsp;strlen($this-&gt;srcimg);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$type_length&nbsp;&nbsp;=&nbsp;strlen($this-&gt;type);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$name_length&nbsp;&nbsp;=&nbsp;$full_length-$type_length;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$name&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;substr($this-&gt;srcimg,0,$name_length-1);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$this-&gt;dstimg&nbsp;=&nbsp;$dstpath;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>//echo&nbsp;$this-&gt;dstimg;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>$resizeimage&nbsp;=&nbsp;new&nbsp;resizeimage(&#34;11.jpg&#34;,&nbsp;&#34;200&#34;,&nbsp;&#34;150&#34;,&nbsp;&#34;1&#34;,&#34;17.jpg&#34;);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>?&gt;&nbsp;&nbsp;&nbsp;&nbsp;<br/><br/><br/><br/></div></div>]]></summary>
	  <link rel="alternate" type="text/html" href="http://www.xpb.cn/blog/default.asp?id=738" /> 
	  <id>http://www.xpb.cn/blog/default.asp?id=738</id> 
  </entry>	
		
  <entry>
	  <title type="html"><![CDATA[好久没更新了]]></title>
	  <author>
		 <name>Admin</name>
		 <uri>http://www.xpb.cn/blog/</uri>
		 <email>xiaopbx@163.com</email>
	  </author>
	  <category term="" scheme="http://www.xpb.cn/blog/default.asp?cateID=1" label="生活点滴" /> 
	  <updated>2010-04-23T14:14:09+08:00</updated>
	  <published>2010-04-23T14:14:09+08:00</published>
		  <summary type="html"><![CDATA[好久没更新了。。。]]></summary>
	  <link rel="alternate" type="text/html" href="http://www.xpb.cn/blog/default.asp?id=736" /> 
	  <id>http://www.xpb.cn/blog/default.asp?id=736</id> 
  </entry>	
		
  <entry>
	  <title type="html"><![CDATA[rsync 详解]]></title>
	  <author>
		 <name>Admin</name>
		 <uri>http://www.xpb.cn/blog/</uri>
		 <email>xiaopbx@163.com</email>
	  </author>
	  <category term="" scheme="http://www.xpb.cn/blog/default.asp?cateID=19" label="资料共享" /> 
	  <updated>2010-04-07T11:47:05+08:00</updated>
	  <published>2010-04-07T11:47:05+08:00</published>
		  <summary type="html"><![CDATA[<DIV style="MARGIN: 15px">
<H1><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Sans, sans-serif">1</SPAN>、什么是<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Sans, sans-serif">Rsync</SPAN> </FONT></H1>
<P style="MARGIN-BOTTOM: 0cm"><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">Rsync</SPAN>（<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">remote synchronize</SPAN>）是一个远程数据同步工具，可通过<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">LAN/WAN</SPAN>快速同步多台主机间的文件。<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">Rsync</SPAN>使用所谓的“<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">Rsync</SPAN>算法”来使本地和远程两个主机之间的文件达到同步，这个算法只传送两个文件的不同部分，而不是每次都整份传送，因此速度相当快。 </FONT></P>
<P style="MARGIN-BOTTOM: 0cm"><FONT style="FONT-SIZE: 14px"> </FONT></P>
<P style="MARGIN-BOTTOM: 0cm"><FONT style="FONT-SIZE: 14px">　　<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">Rsync</SPAN>本来是用于替代<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">rcp</SPAN>的一个工具，目前由<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">rsync.samba.org</SPAN>维护，所以<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">rsync.conf</SPAN>文件的格式类似于<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">samba</SPAN>的主配置文件。<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">Rsync</SPAN>可以通过<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">rsh</SPAN>或<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">ssh</SPAN>使用，也能以<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">daemon</SPAN>模式去运行，在以<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">daemon</SPAN>方式运行时<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">Rsync server</SPAN>会打开一个<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">873</SPAN>端口，等待客户端去连接。连接时，<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">Rsync server</SPAN>会检查口令是否相符，若通过口令查核，则可以开始进行文件传输。第一次连通完成时，会把整份文件传输一次，以后则就只需进行增量备份。 </FONT></P>
<P style="MARGIN-BOTTOM: 0cm"><FONT style="FONT-SIZE: 14px"> </FONT></P>
<P style="MARGIN-BOTTOM: 0cm"><FONT style="FONT-SIZE: 14px">　　<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">Rsync</SPAN>支持大多数的类<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">Unix</SPAN>系统，无论是<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">Linux</SPAN>、<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">Solaris</SPAN>还是<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">BSD</SPAN>上都经过了良好的测试。此外，它在<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">windows</SPAN>平台下也有相应的版本，如<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">cwRsync</SPAN>和<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">Sync2NAS</SPAN>等工具。 </FONT></P>
<P style="MARGIN-BOTTOM: 0cm"><FONT style="FONT-SIZE: 14px"> </FONT></P>
<P style="MARGIN-BOTTOM: 0cm"><FONT style="FONT-SIZE: 14px">　　<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">Rsync</SPAN>的基本特点如下： </FONT></P>
<P style="MARGIN-BOTTOM: 0cm"><FONT style="FONT-SIZE: 14px"> </FONT></P>
<P style="MARGIN-BOTTOM: 0cm"><FONT style="FONT-SIZE: 14px">　　<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">1.</SPAN>可以镜像保存整个目录树和文件系统； </FONT></P>
<P style="MARGIN-BOTTOM: 0cm"><FONT style="FONT-SIZE: 14px"> </FONT></P>
<P style="MARGIN-BOTTOM: 0cm"><FONT style="FONT-SIZE: 14px">　　<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">2.</SPAN>可以很容易做到保持原来文件的权限、时间、软硬链接等； </FONT></P>
<P style="MARGIN-BOTTOM: 0cm"><FONT style="FONT-SIZE: 14px"> </FONT></P>
<P style="MARGIN-BOTTOM: 0cm"><FONT style="FONT-SIZE: 14px">　　<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">3.</SPAN>无须特殊权限即可安装； </FONT></P>
<P style="MARGIN-BOTTOM: 0cm"><FONT style="FONT-SIZE: 14px"> </FONT></P>
<P style="MARGIN-BOTTOM: 0cm"><FONT style="FONT-SIZE: 14px">　　<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">4.</SPAN>优化的流程，文件传输效率高； </FONT></P>
<P style="MARGIN-BOTTOM: 0cm"><FONT style="FONT-SIZE: 14px"> </FONT></P>
<P style="MARGIN-BOTTOM: 0cm"><FONT style="FONT-SIZE: 14px">　　<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">5.</SPAN>可以使用<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">rsh</SPAN>、<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">ssh</SPAN>等方式来传输文件，当然也可以通过直接的<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">socket</SPAN>连接； </FONT></P>
<P style="MARGIN-BOTTOM: 0cm"><FONT style="FONT-SIZE: 14px"> </FONT></P>
<P style="MARGIN-BOTTOM: 0cm"><FONT style="FONT-SIZE: 14px">　　<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">6.</SPAN>支持匿名传输。 </FONT></P>
<P style="MARGIN-BOTTOM: 0cm"><FONT style="FONT-SIZE: 14px"> </FONT></P>
<H1><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Sans, sans-serif">2</SPAN>、<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Sans, sans-serif">Rsync</SPAN>同步算法 </FONT></H1>
<P><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">Rsync</SPAN>只所以同步文件的速度相当快，是因为“<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">Rsync</SPAN>同步算法”能在很短的时间内计算出需要备份的数据，关于<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">Rsync</SPAN>的同步算法描述如下： </FONT></P>
<P><FONT style="FONT-SIZE: 14px">假定在<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">1</SPAN>号和<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">2</SPAN>号两台计算机之间同步相似的文件<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">A</SPAN>与<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">B</SPAN>，其中<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">1</SPAN>号对文件<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">A</SPAN>拥有访问权，<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">2</SPAN>号对文件<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">B</SPAN>拥有访问权。并且假定主机<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">1</SPAN>号与<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">2</SPAN>号之间的网络带宽很小。那么<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">rsync</SPAN>算法将通过下面的五个步骤来完成： </FONT></P>
<P><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">1</SPAN>、<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">2</SPAN>号将文件<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">B</SPAN>分割成一组不重叠的固定大小为<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">S</SPAN>字节的数据块，最后一块可能会比<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">S</SPAN> 小。 </FONT></P>
<P><FONT style="FONT-SIZE: 14px"><BR></FONT></P>
<P><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">2</SPAN>、<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">2</SPAN>号对每一个分割好的数据块执行两种校验：一种是<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">32</SPAN>位的滚动弱校验，另一种是<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">128</SPAN>位的<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">MD4</SPAN>强校验。 </FONT></P>
<P><FONT style="FONT-SIZE: 14px"><BR></FONT></P>
<P><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">3</SPAN>、<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">2</SPAN>号将这些校验结果发给<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">1</SPAN>号。 </FONT></P>
<P><FONT style="FONT-SIZE: 14px"><BR></FONT></P>
<P><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">4</SPAN>、<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">1</SPAN>号通过搜索文件<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">A</SPAN>的所有大小为<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">S</SPAN>的数据块<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">(</SPAN>偏移量可以任选，不一定非要是<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">S</SPAN>的倍数<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">)</SPAN>，来寻找与文件<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">B</SPAN>的某一块有着相同的弱校验码和强校验码的数据块。这项工作可以借助滚动校验的特性很快完成。 </FONT></P>
<P><FONT style="FONT-SIZE: 14px"><BR></FONT></P>
<P><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">5</SPAN>、<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">1</SPAN>号发给<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">2</SPAN>号一串指令来生成文件<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">A</SPAN>在<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">2</SPAN>号上的备份。这里的每一条指令要么是对文件<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">B</SPAN>经拥有某一个数据块而不须重传的证明，要么是一个数据块，这个数据块肯定是没有与文件<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">B</SPAN>的任何一个数据块匹配上的。 </FONT></P>
<P><FONT style="FONT-SIZE: 14px"><BR></FONT></P>
<H1><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Sans, sans-serif">3</SPAN>、<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Sans, sans-serif">Rsync</SPAN>参数说明 </FONT></H1>
<H2><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Sans, sans-serif">3.1 rsyncd.conf</SPAN>配置文件 </FONT></H2>
<H3><FONT style="FONT-SIZE: 14px">－、全局参数 </FONT></H3>
<P><FONT style="FONT-SIZE: 14px">在文件中<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">[module]</SPAN>之前的所有参数都是全局参数，当然也可以在全局参数部分定义模块参数，这时候该参数的值就是所有模块的默认值。 </FONT></P>
<P style="BACKGROUND: #e6e6e6 0% 50%; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial"><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">port</SPAN> </FONT></P>
<P><FONT style="FONT-SIZE: 14px">指定后台程序使用的端口号，默认为<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">873</SPAN>。 </FONT></P>
<P><FONT style="FONT-SIZE: 14px"><BR></FONT></P>
<P style="BACKGROUND: #e6e6e6 0% 50%; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial"><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">motd file</SPAN> </FONT></P>
<P><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">" motd file" </SPAN>参数用来指定一个消息文件，当客户连接服务器时该文件的内容显示给客户，默认是没有<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">motd</SPAN>文件的。 </FONT></P>
<P><FONT style="FONT-SIZE: 14px"><BR></FONT></P>
<P style="BACKGROUND: #e6e6e6 0% 50%; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial"><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">log file</SPAN> </FONT></P>
<P><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">" log file" </SPAN>指定<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">rsync</SPAN>的日志文件，而不将日志发送给<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">syslog</SPAN>。比如可指定为“<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">/var/log/rsyncd.log”</SPAN>。 </FONT></P>
<P><FONT style="FONT-SIZE: 14px"><BR></FONT></P>
<P style="BACKGROUND: #e6e6e6 0% 50%; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial"><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">pid file</SPAN> </FONT></P>
<P><FONT style="FONT-SIZE: 14px">指定<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">rsync</SPAN>的<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">pid</SPAN>文件，通常指定为“<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">/var/run/rsyncd.pid”</SPAN>。 </FONT></P>
<P><FONT style="FONT-SIZE: 14px"><BR></FONT></P>
<P style="BACKGROUND: #e6e6e6 0% 50%; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial"><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">syslog facility</SPAN> </FONT></P>
<P><FONT style="FONT-SIZE: 14px">指定<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">rsync</SPAN>发送日志消息给<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">syslog</SPAN>时的消息级别，常见的消息级别是：<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">uth, authpriv, cron, daemon, ftp, kern, lpr, mail, news, security, sys-log, user, uucp, local0, local1, local2, local3,local4, local5, local6</SPAN>和<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">local7</SPAN>。默认值是<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">daemon</SPAN>。 </FONT></P>
<P><FONT style="FONT-SIZE: 14px"><BR></FONT></P>
<H3><FONT style="FONT-SIZE: 14px">二、模块参数 </FONT></H3>
<P><FONT style="FONT-SIZE: 14px">主要是定义服务器哪个目录要被同步。其格式必须为“<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">[module]”</SPAN>形式，这个名字就是在<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">rsync</SPAN> 客户端看到的名字，其实有点象<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">Samba</SPAN>服务器提供的共享名。而服务器真正同步的数据是通过 <SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">path</SPAN> 来指定的。我们可以根据自己的需要，来指定多个模块，模块中可以定义以下参数： </FONT></P>
<P style="BACKGROUND: #e6e6e6 0% 50%; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial"><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">comment</SPAN> </FONT></P>
<P><FONT style="FONT-SIZE: 14px">给模块指定一个描述，该描述连同模块名在客户连接得到模块列表时显示给客户。默认没有描述定义。 </FONT></P>
<P><FONT style="FONT-SIZE: 14px"><BR></FONT></P>
<P style="BACKGROUND: #e6e6e6 0% 50%; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial"><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">path</SPAN> </FONT></P>
<P><FONT style="FONT-SIZE: 14px">指定该模块的供备份的目录树路径，该参数是必须指定的。 </FONT></P>
<P><FONT style="FONT-SIZE: 14px"><BR></FONT></P>
<P style="BACKGROUND: #e6e6e6 0% 50%; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial"><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">use chroot</SPAN> </FONT></P>
<P><FONT style="FONT-SIZE: 14px">如果<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">" use chroot" </SPAN>指定为<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">true</SPAN>，那么<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">rsync</SPAN>在传输文件以前首先<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">chroot</SPAN>到<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">path</SPAN>参数所指定的目录下。这样做的原因是实现额外的安全防护，但是缺点是需要以<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">roots</SPAN>权限，并且不能备份指向外部的符号连接所指向的目录文件。默认情况下<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">chroot</SPAN>值为<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">true</SPAN>。 </FONT></P>
<P><FONT style="FONT-SIZE: 14px"><BR></FONT></P>
<P style="BACKGROUND: #e6e6e6 0% 50%; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial"><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">uid</SPAN> </FONT></P>
<P><FONT style="FONT-SIZE: 14px">该选项指定当该模块传输文件时守护进程应该具有的<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">uid</SPAN>，配合<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">gid</SPAN>选项使用可以确定哪些可以访问怎么样的文件权限，默认值是<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">" nobody" </SPAN>。 </FONT></P>
<P><FONT style="FONT-SIZE: 14px"><BR></FONT></P>
<P style="BACKGROUND: #e6e6e6 0% 50%; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial"><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">gid</SPAN> </FONT></P>
<P><FONT style="FONT-SIZE: 14px">该选项指定当该模块传输文件时守护进程应该具有的<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">gid</SPAN>。默认值为<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">" nobody" </SPAN>。 </FONT></P>
<P><FONT style="FONT-SIZE: 14px"><BR></FONT></P>
<P style="BACKGROUND: #e6e6e6 0% 50%; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial"><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">max connections</SPAN> </FONT></P>
<P><FONT style="FONT-SIZE: 14px">指定该模块的最大并发连接数量以保护服务器，超过限制的连接请求将被告知随后再试。默认值是<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">0</SPAN>，也就是没有限制。 </FONT></P>
<P><FONT style="FONT-SIZE: 14px"><BR></FONT></P>
<P style="BACKGROUND: #e6e6e6 0% 50%; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial"><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">list</SPAN> </FONT></P>
<P><FONT style="FONT-SIZE: 14px">该选项设定当客户请求可以使用的模块列表时，该模块是否应该被列出。如果设置该选项为<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">false</SPAN>，可以创建隐藏的模块。默认值是<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">true</SPAN>。 </FONT></P>
<P><FONT style="FONT-SIZE: 14px"><BR></FONT></P>
<P style="BACKGROUND: #e6e6e6 0% 50%; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial"><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">read only</SPAN> </FONT></P>
<P><FONT style="FONT-SIZE: 14px">该选项设定是否允许客户上载文件。如果为<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">true</SPAN>那么任何上载请求都会失败，如果为<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">false</SPAN>并且服务器目录读写权限允许那么上载是允许的。默认值为<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">true</SPAN>。 </FONT></P>
<P><FONT style="FONT-SIZE: 14px"><BR></FONT></P>
<P style="BACKGROUND: #e6e6e6 0% 50%; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial"><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">exclude</SPAN> </FONT></P>
<P><FONT style="FONT-SIZE: 14px">用来指定多个由空格隔开的多个文件或目录<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">(</SPAN>相对路径<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">)</SPAN>，并将其添加到<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">exclude</SPAN>列表中。这等同于在客户端命令中使用<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">--exclude</SPAN>来指定模式，一个模块只能指定一个<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">exclude</SPAN>选项。但是需要注意的一点是该选项有一定的安全性问题，客户很有可能绕过<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">exclude</SPAN>列表，如果希望确保特定的文件不能被访问，那就最好结合<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">uid/gid</SPAN>选项一起使用。 </FONT></P>
<P><FONT style="FONT-SIZE: 14px"><BR></FONT></P>
<P style="BACKGROUND: #e6e6e6 0% 50%; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial"><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">exclude from</SPAN> </FONT></P>
<P><FONT style="FONT-SIZE: 14px">指定一个包含<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">exclude</SPAN>模式的定义的文件名，服务器从该文件中读取<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">exclude</SPAN>列表定义。 </FONT></P>
<P><FONT style="FONT-SIZE: 14px"><BR></FONT></P>
<P style="BACKGROUND: #e6e6e6 0% 50%; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial"><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">include</SPAN> </FONT></P>
<P><FONT style="FONT-SIZE: 14px">用来指定不排除符合要求的文件或目录。这等同于在客户端命令中使用<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">--include</SPAN>来指定模式，结合<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">include</SPAN>和<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">exclude</SPAN>可以定义复杂的<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">exclude/include</SPAN>规则。 </FONT></P>
<P><FONT style="FONT-SIZE: 14px"><BR></FONT></P>
<P style="BACKGROUND: #e6e6e6 0% 50%; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial"><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">include from</SPAN> </FONT></P>
<P><FONT style="FONT-SIZE: 14px">指定一个包含<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">include</SPAN>模式的定义的文件名，服务器从该文件中读取<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">include</SPAN>列表定义。 </FONT></P>
<P><FONT style="FONT-SIZE: 14px"><BR></FONT></P>
<P style="BACKGROUND: #e6e6e6 0% 50%; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial"><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">auth users</SPAN> </FONT></P>
<P><FONT style="FONT-SIZE: 14px">该选项指定由空格或逗号分隔的用户名列表，只有这些用户才允许连接该模块。这里的用户和系统用户没有任何关系。如果<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">" auth users" </SPAN>被设置，那么客户端发出对该模块的连接请求以后会被<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">rsync</SPAN>请求<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">challenged</SPAN>进行验证身份这里使用的<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">challenge/response</SPAN>认证协议。用户的名和密码以明文方式存放在<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">" secrets file" </SPAN>选项指定的文件中。默认情况下无需密码就可以连接模块<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">(</SPAN>也就是匿名方式<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">)</SPAN>。 </FONT></P>
<P><FONT style="FONT-SIZE: 14px"><BR></FONT></P>
<P style="BACKGROUND: #e6e6e6 0% 50%; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial"><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">secrets file</SPAN> </FONT></P>
<P><FONT style="FONT-SIZE: 14px">该选项指定一个包含定义用户名<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">:</SPAN>密码对的文件。只有在<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">" auth users" </SPAN>被定义时，该文件才有作用。文件每行包含一个<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">username:passwd</SPAN>对。一般来说密码最好不要超过<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">8</SPAN>个字符。没有默认的<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">secures file</SPAN>名，需要限式指定一个<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">(</SPAN>例如：<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">/etc/rsyncd.passwd)</SPAN>。注意：该文件的权限一定要是<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">600</SPAN>，否则客户端将不能连接服务器。 </FONT></P>
<P><FONT style="FONT-SIZE: 14px"><BR></FONT></P>
<P style="BACKGROUND: #e6e6e6 0% 50%; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial"><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">strict modes</SPAN> </FONT></P>
<P><FONT style="FONT-SIZE: 14px">该选项指定是否监测密码文件的权限，如果该选项值为<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">true</SPAN>那么密码文件只能被<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">rsync</SPAN>服务器运行身份的用户访问，其他任何用户不可以访问该文件。默认值为<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">true</SPAN>。 </FONT></P>
<P><FONT style="FONT-SIZE: 14px"><BR></FONT></P>
<P style="BACKGROUND: #e6e6e6 0% 50%; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial"><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">hosts allow</SPAN> </FONT></P>
<P><FONT style="FONT-SIZE: 14px">该选项指定哪些<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">IP</SPAN>的客户允许连接该模块。客户模式定义可以是以下形式： </FONT></P>
<P><FONT style="FONT-SIZE: 14px">单个<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">IP</SPAN>地址，例如：<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">192.167.0.1</SPAN> </FONT></P>
<P><FONT style="FONT-SIZE: 14px"><BR></FONT></P>
<P><FONT style="FONT-SIZE: 14px">整个网段，例如：<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">192.168.0.0/24</SPAN>，也可以是<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">192.168.0.0/255.255.255.0</SPAN> </FONT></P>
<P><FONT style="FONT-SIZE: 14px">多个<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">IP</SPAN>或网段需要用空格隔开，“<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">*”</SPAN>则表示所有，默认是允许所有主机连接。 </FONT></P>
<P><FONT style="FONT-SIZE: 14px"><BR></FONT></P>
<P style="BACKGROUND: #e6e6e6 0% 50%; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial"><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">hosts deny</SPAN> </FONT></P>
<P><FONT style="FONT-SIZE: 14px">指定不允许连接<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">rsync</SPAN>服务器的机器，可以使用<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">hosts allow</SPAN>的定义方式来进行定义。默认是没有<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">hosts deny</SPAN>定义。 </FONT></P>
<P><FONT style="FONT-SIZE: 14px"><BR></FONT></P>
<P style="BACKGROUND: #e6e6e6 0% 50%; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial"><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">ignore errors</SPAN> </FONT></P>
<P><FONT style="FONT-SIZE: 14px">指定<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">rsyncd</SPAN>在判断是否运行传输时的删除操作时忽略<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">server</SPAN>上的<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">IO</SPAN>错误，一般来说<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">rsync</SPAN>在出现<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">IO</SPAN>错误时将将跳过<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">--delete</SPAN>操作，以防止因为暂时的资源不足或其它<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">IO</SPAN>错误导致的严重问题。 </FONT></P>
<P><FONT style="FONT-SIZE: 14px"><BR></FONT></P>
<P style="BACKGROUND: #e6e6e6 0% 50%; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial"><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">ignore nonreadable</SPAN> </FONT></P>
<P><FONT style="FONT-SIZE: 14px">指定<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">rysnc</SPAN>服务器完全忽略那些用户没有访问权限的文件。这对于在需要备份的目录中有些文件是不应该被备份者得到的情况是有意义的。 </FONT></P>
<P><FONT style="FONT-SIZE: 14px"><BR></FONT></P>
<P style="BACKGROUND: #e6e6e6 0% 50%; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial"><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">lock file</SPAN> </FONT></P>
<P><FONT style="FONT-SIZE: 14px">指定支持<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">max connections</SPAN>参数的锁文件，默认值是<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">/var/run/rsyncd.lock</SPAN>。 </FONT></P>
<P><FONT style="FONT-SIZE: 14px"><BR></FONT></P>
<P style="BACKGROUND: #e6e6e6 0% 50%; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial"><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">transfer logging</SPAN> </FONT></P>
<P><FONT style="FONT-SIZE: 14px">使<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">rsync</SPAN>服务器使用<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">ftp</SPAN>格式的文件来记录下载和上载操作在自己单独的日志中。 </FONT></P>
<P><FONT style="FONT-SIZE: 14px"><BR></FONT></P>
<P style="BACKGROUND: #e6e6e6 0% 50%; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial"><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">log format</SPAN> </FONT></P>
<P><FONT style="FONT-SIZE: 14px">通过该选项用户在使用<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">transfer logging</SPAN>可以自己定制日志文件的字段。其格式是一个包含格式定义符的字符串，可以使用的格式定义符如下所示： </FONT></P>
<P><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">%h</SPAN> 远程主机名 </FONT></P>
<P><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">%a</SPAN> 远程<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">IP</SPAN>地址 </FONT></P>
<P><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">%l</SPAN> 文件长度字符数 </FONT></P>
<P><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">%p</SPAN> 该次<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">rsync</SPAN>会话的进程<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">id</SPAN> </FONT></P>
<P><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">%o</SPAN> 操作类型：<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">" send" </SPAN>或<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">" recv" </SPAN></FONT></P>
<P><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">%f</SPAN> 文件名 </FONT></P>
<P><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">%P</SPAN> 模块路径 </FONT></P>
<P><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">%m</SPAN> 模块名 </FONT></P>
<P><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">%t</SPAN> 当前时间 </FONT></P>
<P><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">%u</SPAN> 认证的用户名<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">(</SPAN>匿名时是<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">null)</SPAN> </FONT></P>
<P><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">%b</SPAN> 实际传输的字节数 </FONT></P>
<P><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">%c</SPAN> 当发送文件时，该字段记录该文件的校验码 </FONT></P>
<P><FONT style="FONT-SIZE: 14px">默认<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">log</SPAN>格式为：<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">" %o %h [%a] %m (%u) %f %l" </SPAN>，一般来说<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">,</SPAN>在每行的头上会添加<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">" %t [%p] " </SPAN>。在源代码中同时发布有一个叫<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">rsyncstats</SPAN>的<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">perl</SPAN>脚本程序来统计这种格式的日志文件。 </FONT></P>
<P><FONT style="FONT-SIZE: 14px"><BR></FONT></P>
<P style="BACKGROUND: #e6e6e6 0% 50%; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial"><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">timeout</SPAN> </FONT></P>
<P><FONT style="FONT-SIZE: 14px">通过该选项可以覆盖客户指定的<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">IP</SPAN>超时时间。通过该选项可以确保<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">rsync</SPAN>服务器不会永远等待一个崩溃的客户端。超时单位为秒钟，<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">0</SPAN>表示没有超时定义，这也是默认值。对于匿名<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">rsync</SPAN>服务器来说，一个理想的数字是<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">600</SPAN>。 </FONT></P>
<P><FONT style="FONT-SIZE: 14px"><BR></FONT></P>
<P style="BACKGROUND: #e6e6e6 0% 50%; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial"><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">refuse options</SPAN> </FONT></P>
<P><FONT style="FONT-SIZE: 14px">通过该选项可以定义一些不允许客户对该模块使用的命令参数列表。这里必须使用命令全名，而不能是简称。但发生拒绝某个命令的情况时服务器将报告错误信息然后退出。如果要防止使用压缩，应该是：<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">" dont compress = *" </SPAN>。 </FONT></P>
<P><FONT style="FONT-SIZE: 14px"><BR></FONT></P>
<P style="BACKGROUND: #e6e6e6 0% 50%; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial"><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">dont compress</SPAN> </FONT></P>
<P><FONT style="FONT-SIZE: 14px">用来指定那些不进行压缩处理再传输的文件，默认值是<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">*.gz *.tgz *.zip *.z *.rpm *.deb *.iso *.bz2 *.tbz</SPAN> </FONT></P>
<H2><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Sans, sans-serif">3.2 Rsync</SPAN>命令 </FONT></H2>
<P><FONT style="FONT-SIZE: 14px">在对<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">rsync</SPAN>服务器配置结束以后，下一步就需要在客户端发出<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">rsync</SPAN>命令来实现将服务器端的文件备份到客户端来。<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">rsync</SPAN>是一个功能非常强大的工具，其命令也有很多功能特色选项，我们下面就对它的选项一一进行分析说明。 </FONT></P>
<P><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">Rsync</SPAN>的命令格式可以为以下六种： </FONT></P>
<TABLE cellSpacing=0 cellPadding=4 width="100%" border=1>
<COLGROUP><FONT style="FONT-SIZE: 14px">
<COL width=256></FONT></COLGROUP>
<THEAD>
<TR>
<TD vAlign=top width="100%" bgColor=#e6e6e6>
<P style="MARGIN-BOTTOM: 0cm"><FONT style="FONT-SIZE: 14px">　　<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">rsync [OPTION]... SRC DEST</SPAN> </FONT></P>
<P><FONT style="FONT-SIZE: 14px">　　<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">rsync [OPTION]... SRC [USER@]HOST:DEST</SPAN> </FONT></P>
<P><FONT style="FONT-SIZE: 14px">　　<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">rsync [OPTION]... [USER@]HOST:SRC DEST</SPAN> </FONT></P>
<P><FONT style="FONT-SIZE: 14px">　　<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">rsync [OPTION]... [USER@]HOST::SRC DEST</SPAN> </FONT></P>
<P><FONT style="FONT-SIZE: 14px">　　<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">rsync [OPTION]... SRC [USER@]HOST::DEST</SPAN> </FONT></P>
<P><FONT style="FONT-SIZE: 14px">　　<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">rsync [OPTION]... rsync://[USER@]HOST[:PORT]/SRC [DEST]</SPAN> </FONT></P></TD></TR></THEAD>
<TBODY><FONT style="FONT-SIZE: 14px"></FONT></TBODY></TABLE>
<P><FONT style="FONT-SIZE: 14px">　　对应于以上六种命令格式，<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">rsync</SPAN>有六种不同的工作模式： </FONT></P>
<P><FONT style="FONT-SIZE: 14px">　　<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">1)</SPAN>拷贝本地文件。当<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">SRC</SPAN>和<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">DES</SPAN>路径信息都不包含有单个冒号<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">" :" </SPAN>分隔符时就启动这种工作模式。如：<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">rsync -a /data /backup</SPAN> </FONT></P>
<P><FONT style="FONT-SIZE: 14px">　　<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">2)</SPAN>使用一个远程<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">shell</SPAN>程序<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">(</SPAN>如<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">rsh</SPAN>、<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">ssh)</SPAN>来实现将本地机器的内容拷贝到远程机器。当<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">DST</SPAN>路径地址包含单个冒号<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">" :" </SPAN>分隔符时启动该模式。如：<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">rsync -avz *.c foo:src</SPAN> </FONT></P>
<P><FONT style="FONT-SIZE: 14px">　　<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">3)</SPAN>使用一个远程<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">shell</SPAN>程序<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">(</SPAN>如<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">rsh</SPAN>、<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">ssh)</SPAN>来实现将远程机器的内容拷贝到本地机器。当<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">SRC</SPAN>地址路径包含单个冒号<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">" :" </SPAN>分隔符时启动该模式。如：<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">rsync -avz foo:src/bar /data</SPAN> </FONT></P>
<P><FONT style="FONT-SIZE: 14px">　　<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">4)</SPAN>从远程<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">rsync</SPAN>服务器中拷贝文件到本地机。当<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">SRC</SPAN>路径信息包含<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">" ::" </SPAN>分隔符时启动该模式。如：<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">rsync -av root@172.16.78.192::www /databack</SPAN> </FONT></P>
<P><FONT style="FONT-SIZE: 14px">　　<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">5)</SPAN>从本地机器拷贝文件到远程<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">rsync</SPAN>服务器中。当<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">DST</SPAN>路径信息包含<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">" ::" </SPAN>分隔符时启动该模式。如：<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">rsync -av /databack root@172.16.78.192::www</SPAN> </FONT></P>
<P><FONT style="FONT-SIZE: 14px">　　<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">6)</SPAN>列远程机的文件列表。这类似于<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">rsync</SPAN>传输，不过只要在命令中省略掉本地机信息即可。如：<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">rsync -v rsync://172.16.78.192/www</SPAN> </FONT></P>
<P><FONT style="FONT-SIZE: 14px"><BR></FONT></P>
<P><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">rsync</SPAN>参数的具体解释如下： </FONT></P>
<P><FONT style="FONT-SIZE: 14px"><BR></FONT></P>
<P style="BACKGROUND: #e6e6e6 0% 50%; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial"><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">-v, --verbose</SPAN> 详细模式输出<BR><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">-q, --quiet</SPAN> 精简输出模式<BR><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">-c, --checksum</SPAN> 打开校验开关，强制对文件传输进行校验<BR><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">-a, --archive</SPAN> 归档模式，表示以递归方式传输文件，并保持所有文件属性，等于</FONT><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">-rlptgoD<BR>-r, --recursive</SPAN> 对子目录以递归模式处理<BR><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">-R, --relative</SPAN> 使用相对路径信息<BR><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">-b, --backup</SPAN> 创建备份，也就是对于目的已经存在有同样的文件名时，将老的文件重新命名为<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">~filename</SPAN>。可以使用<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">--suffix</SPAN>选项来指定不同的备份文件前缀。<BR><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">--backup-dir</SPAN> 将备份文件<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">(</SPAN>如<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">~filename)</SPAN>存放在在目录下。<BR><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">-suffix=SUFFIX</SPAN> 定义备份文件前缀<BR><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">-u, --update</SPAN> 仅仅进行更新，也就是跳过所有已经存在于<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">DST</SPAN>，并且文件时间晚于要备份的文件。<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">(</SPAN>不覆盖更新的文件</FONT><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">)<BR>-l, --links</SPAN> 保留软链结<BR><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">-L, --copy-links</SPAN> 想对待常规文件一样处理软链结<BR><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">--copy-unsafe-links</SPAN> 仅仅拷贝指向<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">SRC</SPAN>路径目录树以外的链结<BR><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">--safe-links</SPAN> 忽略指向<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">SRC</SPAN>路径目录树以外的链结<BR><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">-H, --hard-links</SPAN> 保留硬链结<BR><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">-p, --perms</SPAN> 保持文件权限<BR><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">-o, --owner</SPAN> 保持文件属主信息<BR><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">-g, --group</SPAN> 保持文件属组信息<BR><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">-D, --devices</SPAN> 保持设备文件信息<BR><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">-t, --times</SPAN> 保持文件时间信息<BR><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">-S, --sparse</SPAN> 对稀疏文件进行特殊处理以节省<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">DST</SPAN>的空间<BR><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">-n, --dry-run</SPAN>现实哪些文件将被传输<BR><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">-W, --whole-file</SPAN> 拷贝文件，不进行增量检测<BR><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">-x, --one-file-system</SPAN> 不要跨越文件系统边界<BR><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">-B, --block-size=SIZE</SPAN> 检验算法使用的块尺寸，默认是<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">700</SPAN>字节<BR><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">-e, --rsh=COMMAND</SPAN> 指定使用<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">rsh</SPAN>、<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">ssh</SPAN>方式进行数据同步<BR><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">--rsync-path=PATH</SPAN> 指定远程服务器上的<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">rsync</SPAN>命令所在路径信息<BR><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">-C, --cvs-exclude</SPAN> 使用和<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">CVS</SPAN>一样的方法自动忽略文件，用来排除那些不希望传输的文件<BR><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">--existing</SPAN> 仅仅更新那些已经存在于<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">DST</SPAN>的文件，而不备份那些新创建的文件<BR><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">--delete</SPAN> 删除那些<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">DST</SPAN>中<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">SRC</SPAN>没有的文件<BR><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">--delete-excluded</SPAN> 同样删除接收端那些被该选项指定排除的文件<BR><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">--delete-after</SPAN> 传输结束以后再删除<BR><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">--ignore-errors</SPAN> 及时出现<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">IO</SPAN>错误也进行删除<BR><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">--max-delete=NUM</SPAN> 最多删除<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">NUM</SPAN>个文件<BR><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">--partial</SPAN> 保留那些因故没有完全传输的文件，以是加快随后的再次传输<BR><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">--force</SPAN> 强制删除目录，即使不为空<BR><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">--numeric-ids</SPAN> 不将数字的用户和组<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">ID</SPAN>匹配为用户名和组名<BR><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">--timeout=TIME IP</SPAN>超时时间，单位为秒<BR><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">-I, --ignore-times</SPAN> 不跳过那些有同样的时间和长度的文件<BR><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">--size-only</SPAN> 当决定是否要备份文件时，仅仅察看文件大小而不考虑文件时间<BR><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">--modify-window=NUM</SPAN> 决定文件是否时间相同时使用的时间戳窗口，默认为</FONT><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">0<BR>-T --temp-dir=DIR</SPAN> 在<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">DIR</SPAN>中创建临时文件<BR><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">--compare-dest=DIR</SPAN> 同样比较<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">DIR</SPAN>中的文件来决定是否需要备份<BR><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">-P</SPAN> 等同于 </FONT><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">--partial<BR>--progress</SPAN> 显示备份过程<BR><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">-z, --compress</SPAN> 对备份的文件在传输时进行压缩处理<BR><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">--exclude=PATTERN</SPAN> 指定排除不需要传输的文件模式<BR><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">--include=PATTERN</SPAN> 指定不排除而需要传输的文件模式<BR><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">--exclude-from=FILE</SPAN> 排除<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">FILE</SPAN>中指定模式的文件<BR><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">--include-from=FILE</SPAN> 不排除<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">FILE</SPAN>指定模式匹配的文件<BR><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">--version</SPAN> 打印版本信息<BR><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">--address</SPAN> 绑定到特定的地址<BR><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">--config=FILE</SPAN> 指定其他的配置文件，不使用默认的<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">rsyncd.conf</SPAN>文件<BR><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">--port=P, orT</SPAN> 指定其他的<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">rsync</SPAN>服务端口<BR><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">--blocking-io</SPAN> 对远程<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">shell</SPAN>使用阻塞</FONT><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">IO<BR>-stats</SPAN> 给出某些文件的传输状态<BR><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">--progress</SPAN> 在传输时现实传输过程<BR><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">--log-format=formAT</SPAN> 指定日志文件格式<BR><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">--password-file=FILE</SPAN> 从<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">FILE</SPAN>中得到密码<BR><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">--bwlimit=KBPS</SPAN> 限制<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">I/O</SPAN>带宽，</FONT><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">KBytes per second<BR>-h, --help</SPAN> 显示帮助信息 </FONT></P>
<P><FONT style="FONT-SIZE: 14px"><BR></FONT></P>
<P style="MARGIN-BOTTOM: 0cm"><FONT style="FONT-SIZE: 14px"> </FONT></P>
<H1><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Sans, sans-serif">4</SPAN>、<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Sans, sans-serif">Rsync</SPAN>使用实例 </FONT></H1>
<H2><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Sans, sans-serif">4.1</SPAN>、<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Sans, sans-serif">SSH</SPAN>方式 </FONT></H2>
<P style="MARGIN-BOTTOM: 0cm"><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">1</SPAN>、首先在服务端启动<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">ssh</SPAN>服务： </FONT></P>
<TABLE cellSpacing=0 cellPadding=4 width="100%" border=1>
<COLGROUP><FONT style="FONT-SIZE: 14px">
<COL width=256></FONT></COLGROUP>
<THEAD>
<TR>
<TD vAlign=top width="100%" bgColor=#e6e6e6>
<P><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif"># service sshd start</SPAN> </FONT></P>
<P><FONT style="FONT-SIZE: 14px">启动 <SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">sshd</SPAN>： <SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">[</SPAN>确定<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">]</SPAN> </FONT></P></TD></TR></THEAD>
<TBODY><FONT style="FONT-SIZE: 14px"></FONT></TBODY></TABLE>
<P style="MARGIN-BOTTOM: 0cm"><FONT style="FONT-SIZE: 14px"> </FONT></P>
<P style="MARGIN-BOTTOM: 0cm"><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">2</SPAN>、使用<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">rsync</SPAN>进行同步 </FONT></P>
<P style="MARGIN-BOTTOM: 0cm"><FONT style="FONT-SIZE: 14px">接下来就可以在客户端使用<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">rsync</SPAN>命令来备份服务端上的数据了，<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">SSH</SPAN>方式是通过系统用户来进行备份的，如下： </FONT></P>
<TABLE cellSpacing=0 cellPadding=4 width="100%" border=1>
<COLGROUP><FONT style="FONT-SIZE: 14px">
<COL width=256></FONT></COLGROUP>
<THEAD>
<TR>
<TD vAlign=top width="100%" bgColor=#e6e6e6>
<P style="MARGIN-BOTTOM: 0cm"><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif"># rsync -vzrtopg --progress -e ssh --delete work@172.16.78.192:/www/* /databack/experiment/rsync</SPAN> </FONT></P>
<P style="MARGIN-BOTTOM: 0cm"><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">work@172.16.78.192' s password:</SPAN> </FONT></P>
<P style="MARGIN-BOTTOM: 0cm"><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">receiving file list ...</SPAN> </FONT></P>
<P style="MARGIN-BOTTOM: 0cm"><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">5 files to consider</SPAN> </FONT></P>
<P style="MARGIN-BOTTOM: 0cm"><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">test/</SPAN> </FONT></P>
<P style="MARGIN-BOTTOM: 0cm"><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">a</SPAN> </FONT></P>
<P style="MARGIN-BOTTOM: 0cm"><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">0 100% 0.00kB/s 527:35:41 (1, 20.0% of 5)</SPAN> </FONT></P>
<P style="MARGIN-BOTTOM: 0cm"><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">b</SPAN> </FONT></P>
<P style="MARGIN-BOTTOM: 0cm"><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">67 100% 65.43kB/s 0:00:00 (2, 40.0% of 5)</SPAN> </FONT></P>
<P style="MARGIN-BOTTOM: 0cm"><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">c</SPAN> </FONT></P>
<P style="MARGIN-BOTTOM: 0cm"><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">0 100% 0.00kB/s 527:35:41 (3, 60.0% of 5)</SPAN> </FONT></P>
<P style="MARGIN-BOTTOM: 0cm"><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">dd</SPAN> </FONT></P>
<P style="MARGIN-BOTTOM: 0cm"><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">100663296 100% 42.22MB/s 0:00:02 (4, 80.0% of 5)</SPAN> </FONT></P>
<P style="MARGIN-BOTTOM: 0cm"><FONT style="FONT-SIZE: 14px"> </FONT></P>
<P style="MARGIN-BOTTOM: 0cm"><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">sent 96 bytes received 98190 bytes 11563.06 bytes/sec</SPAN> </FONT></P>
<P><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">total size is 100663363 speedup is 1024.19</SPAN> </FONT></P></TD></TR></THEAD>
<TBODY><FONT style="FONT-SIZE: 14px"></FONT></TBODY></TABLE>
<P style="MARGIN-BOTTOM: 0cm"><FONT style="FONT-SIZE: 14px">上面的信息描述了整个的备份过程，以及总共备份数据的大小。 </FONT></P>
<P style="MARGIN-BOTTOM: 0cm"><FONT style="FONT-SIZE: 14px"> </FONT></P>
<H2><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Sans, sans-serif">4.2</SPAN> 、后台服务方式 </FONT></H2>
<P style="MARGIN-BOTTOM: 0cm"><FONT style="FONT-SIZE: 14px"> </FONT></P>
<P style="MARGIN-BOTTOM: 0cm"><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">1</SPAN>、启动<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">rsync</SPAN>服务 </FONT></P>
<P style="MARGIN-BOTTOM: 0cm"><FONT style="FONT-SIZE: 14px">编辑<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">/etc/xinetd.d/rsync</SPAN>文件，将其中的<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">disable=yes</SPAN>改为<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">disable=no</SPAN>，并重启<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">xinetd</SPAN>服务，如下： </FONT></P>
<TABLE cellSpacing=0 cellPadding=4 width="100%" border=1>
<COLGROUP><FONT style="FONT-SIZE: 14px">
<COL width=256></FONT></COLGROUP>
<THEAD>
<TR>
<TD vAlign=top width="100%" bgColor=#e6e6e6>
<P><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif"># vi /etc/xinetd.d/rsync</SPAN> </FONT></P>
<P><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">#default: off</SPAN> </FONT></P>
<P><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif"># description: The rsync server is a good addition to an ftp server, as it \</SPAN> </FONT></P>
<P><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif"># allows crc checksumming etc.</SPAN> </FONT></P>
<P><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">service rsync</SPAN> </FONT></P>
<P><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">{</SPAN> </FONT></P>
<P><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">disable = no</SPAN> </FONT></P>
<P><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">socket_type = stream</SPAN> </FONT></P>
<P><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">wait = no</SPAN> </FONT></P>
<P><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">user = root</SPAN> </FONT></P>
<P><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">server = /usr/bin/rsync</SPAN> </FONT></P>
<P><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">server_args = --daemon</SPAN> </FONT></P>
<P><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">log_on_failure += USERID</SPAN> </FONT></P>
<P><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">} </SPAN></P>
<P><FONT style="FONT-SIZE: 14px"> </FONT></P>
<P><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif"># /etc/init.d/xinetd restart</SPAN> </FONT></P>
<P><FONT style="FONT-SIZE: 14px">停止 <SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">xinetd</SPAN>： <SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">[</SPAN>确定<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">]</SPAN> </FONT></P>
<P><FONT style="FONT-SIZE: 14px">启动 <SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">xinetd</SPAN>： <SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">[</SPAN>确定<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">]</SPAN> </FONT></P></TD></TR></THEAD>
<TBODY><FONT style="FONT-SIZE: 14px"></FONT></TBODY></TABLE>
<P style="MARGIN-BOTTOM: 0cm"><FONT style="FONT-SIZE: 14px"> </FONT></P>
<P style="MARGIN-BOTTOM: 0cm"><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">2</SPAN>、创建配置文件 </FONT></P>
<P style="MARGIN-BOTTOM: 0cm"><FONT style="FONT-SIZE: 14px">默认安装好<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">rsync</SPAN>程序后，并不会自动创建<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">rsync</SPAN>的主配置文件，需要手工来创建，其主配置文件为“<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">/etc/rsyncd.conf”</SPAN>，创建该文件并插入如下内容： </FONT></P>
<TABLE cellSpacing=0 cellPadding=4 width="100%" border=1>
<COLGROUP><FONT style="FONT-SIZE: 14px">
<COL width=256></FONT></COLGROUP>
<THEAD>
<TR>
<TD vAlign=top width="100%" bgColor=#e6e6e6>
<P style="MARGIN-BOTTOM: 0cm"><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif"># vi /etc/rsyncd.conf</SPAN> </FONT></P>
<P style="MARGIN-BOTTOM: 0cm"><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">uid=root</SPAN> </FONT></P>
<P style="MARGIN-BOTTOM: 0cm"><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">gid=root</SPAN> </FONT></P>
<P style="MARGIN-BOTTOM: 0cm"><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">max connections=4</SPAN> </FONT></P>
<P style="MARGIN-BOTTOM: 0cm"><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">log file=/var/log/rsyncd.log</SPAN> </FONT></P>
<P style="MARGIN-BOTTOM: 0cm"><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">pid file=/var/run/rsyncd.pid</SPAN> </FONT></P>
<P style="MARGIN-BOTTOM: 0cm"><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">lock file=/var/run/rsyncd.lock</SPAN> </FONT></P>
<P style="MARGIN-BOTTOM: 0cm"><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">secrets file=/etc/rsyncd.passwd</SPAN> </FONT></P>
<P style="MARGIN-BOTTOM: 0cm"><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">hosts deny=172.16.78.0/22</SPAN> </FONT></P>
<P style="MARGIN-BOTTOM: 0cm"><FONT style="FONT-SIZE: 14px"> </FONT></P>
<P style="MARGIN-BOTTOM: 0cm"><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">[www]</SPAN> </FONT></P>
<P style="MARGIN-BOTTOM: 0cm"><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">comment= backup web</SPAN> </FONT></P>
<P style="MARGIN-BOTTOM: 0cm"><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">path=/www</SPAN> </FONT></P>
<P style="MARGIN-BOTTOM: 0cm"><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">read only = no</SPAN> </FONT></P>
<P style="MARGIN-BOTTOM: 0cm"><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">exclude=test</SPAN> </FONT></P>
<P style="MARGIN-BOTTOM: 0cm"><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">auth users=work</SPAN> </FONT></P>
<P><FONT style="FONT-SIZE: 14px"> </FONT></P></TD></TR></THEAD>
<TBODY><FONT style="FONT-SIZE: 14px"></FONT></TBODY></TABLE>
<P style="MARGIN-BOTTOM: 0cm"><FONT style="FONT-SIZE: 14px"> </FONT></P>
<P style="MARGIN-BOTTOM: 0cm"><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">3</SPAN>、创建密码文件 </FONT></P>
<P style="MARGIN-BOTTOM: 0cm"><FONT style="FONT-SIZE: 14px">采用这种方式不能使用系统用户对客户端进行认证，所以需要创建一个密码文件，其格式为“<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">username:password”</SPAN>，用户名可以和密码可以随便定义，最好不要和系统帐户一致，同时要把创建的密码文件权限设置为<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">600</SPAN>，这在前面的模块参数做了详细介绍。 </FONT></P>
<TABLE cellSpacing=0 cellPadding=4 width="100%" border=1>
<COLGROUP><FONT style="FONT-SIZE: 14px">
<COL width=256></FONT></COLGROUP>
<THEAD>
<TR>
<TD vAlign=top width="100%" bgColor=#e6e6e6>
<P><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif"># echo " work:abc123" &gt; /etc/rsyncd.passwd</SPAN> </FONT></P>
<P><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif"># chmod 600 /etc/rsyncd.passwd</SPAN> </FONT></P></TD></TR></THEAD>
<TBODY><FONT style="FONT-SIZE: 14px"></FONT></TBODY></TABLE>
<P style="MARGIN-BOTTOM: 0cm"><FONT style="FONT-SIZE: 14px"> </FONT></P>
<P style="MARGIN-BOTTOM: 0cm"><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">4</SPAN>、备份 </FONT></P>
<P style="MARGIN-BOTTOM: 0cm"><FONT style="FONT-SIZE: 14px">完成以上工作，现在就可以对数据进行备份了，如下： </FONT></P>
<TABLE cellSpacing=0 cellPadding=4 width="100%" border=1>
<COLGROUP><FONT style="FONT-SIZE: 14px">
<COL width=256></FONT></COLGROUP>
<THEAD>
<TR>
<TD vAlign=top width="100%" bgColor=#e6e6e6>
<P><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif"># rsync -avz --progress --delete work@172.16.78.192::www /databack/experiment/rsync</SPAN> </FONT></P>
<P><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">Password:</SPAN> </FONT></P>
<P><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">receiving file list ...</SPAN> </FONT></P>
<P><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">6 files to consider</SPAN> </FONT></P>
<P><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">./ files...</SPAN> </FONT></P>
<P><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">a</SPAN> </FONT></P>
<P><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">0 100% 0.00kB/s 528:20:41 (1, 50.0% of 6)</SPAN> </FONT></P>
<P><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">b</SPAN> </FONT></P>
<P><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">67 100% 65.43kB/s 0:00:00 (2, 66.7% of 6)</SPAN> </FONT></P>
<P><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">c</SPAN> </FONT></P>
<P><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">0 100% 0.00kB/s 528:20:41 (3, 83.3% of 6)</SPAN> </FONT></P>
<P><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">dd</SPAN> </FONT></P>
<P><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">100663296 100% 37.49MB/s 0:00:02 (4, 100.0% of 6)</SPAN> </FONT></P>
<P><FONT style="FONT-SIZE: 14px"> </FONT></P>
<P><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">sent 172 bytes received 98276 bytes 17899.64 bytes/sec</SPAN> </FONT></P>
<P><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">total size is 150995011 speedup is 1533.75</SPAN> </FONT></P></TD></TR></THEAD>
<TBODY><FONT style="FONT-SIZE: 14px"></FONT></TBODY></TABLE>
<P style="MARGIN-BOTTOM: 0cm"><FONT style="FONT-SIZE: 14px"> </FONT></P>
<P style="MARGIN-BOTTOM: 0cm"><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">5</SPAN>、恢复 </FONT></P>
<P style="MARGIN-BOTTOM: 0cm"><FONT style="FONT-SIZE: 14px">当服务器的数据出现问题时，那么这时就需要通过客户端的数据对服务端进行恢复，但前提是服务端允许客户端有写入权限，否则也不能在客户端直接对服务端进行恢复，使用<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">rsync</SPAN>对数据进行恢复的方法如下： </FONT></P>
<TABLE cellSpacing=0 cellPadding=4 width="100%" border=1>
<COLGROUP><FONT style="FONT-SIZE: 14px">
<COL width=256></FONT></COLGROUP>
<THEAD>
<TR>
<TD vAlign=top width="100%" bgColor=#e6e6e6>
<P><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif"># rsync -avz --progress /databack/experiment/rsync/ work@172.16.78.192::www</SPAN> </FONT></P>
<P><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">Password:</SPAN> </FONT></P>
<P><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">building file list ...</SPAN> </FONT></P>
<P><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">6 files to consider</SPAN> </FONT></P>
<P><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">./</SPAN> </FONT></P>
<P><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">a</SPAN> </FONT></P>
<P><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">b</SPAN> </FONT></P>
<P><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">67 100% 0.00kB/s 0:00:00 (2, 66.7% of 6)</SPAN> </FONT></P>
<P><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">c</SPAN> </FONT></P>
<P><FONT style="FONT-SIZE: 14px"> </FONT></P>
<P><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">sent 258 bytes received 76 bytes 95.43 bytes/sec</SPAN> </FONT></P>
<P><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">total size is 150995011 speedup is 452080.87</SPAN> </FONT></P></TD></TR></THEAD>
<TBODY><FONT style="FONT-SIZE: 14px"></FONT></TBODY></TABLE>
<P style="MARGIN-BOTTOM: 0cm"><FONT style="FONT-SIZE: 14px"> </FONT></P>
<P style="MARGIN-BOTTOM: 0cm"><FONT style="FONT-SIZE: 14px"> </FONT></P>
<P style="MARGIN-BOTTOM: 0cm"><FONT style="FONT-SIZE: 14px"> </FONT></P>
<H1><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Sans, sans-serif">5</SPAN>、示例脚本 </FONT></H1>
<P><FONT style="FONT-SIZE: 14px">这里这些脚本都是<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">rsync</SPAN>网站上的例子： </FONT></P>
<P><FONT style="FONT-SIZE: 14px"><BR></FONT></P>
<P><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">1</SPAN>、每隔七天将数据往中心服务器做增量备份 </FONT></P>
<P><FONT style="FONT-SIZE: 14px"><BR></FONT></P>
<P style="BACKGROUND: #e6e6e6 0% 50%; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial"><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">#!/bin/sh</SPAN><BR><BR><BR></FONT><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif"># This script does personal backups to a rsync backup server. You will end up<BR># with a 7 day rotating incremental backup. The incrementals will go<BR># into subdirectories named after the day of the week, and the current<BR># full backup goes into a directory called " current" <BR># tridge@linuxcare.com</SPAN><BR><BR><BR></FONT><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif"># directory to backup<BR>BDIR=/home/$USER</SPAN><BR><BR><BR></FONT><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif"># excludes file - this contains a wildcard pattern per line of files to exclude<BR>EXCLUDES=$HOME/cron/excludes</SPAN><BR><BR><BR></FONT><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif"># the name of the backup machine<BR>BSERVER=owl</SPAN><BR><BR><BR></FONT><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif"># your password on the backup server<BR>export RSYNC_PASSWORD=XXXXXX</SPAN><BR><BR><BR><BR><BR><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">########################################################################</SPAN><BR><BR><BR></FONT><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">BACKUPDIR=`date +%A`<BR>OPTS=" --force --ignore-errors --delete-excluded --exclude-from=$EXCLUDES<BR>--delete --backup --backup-dir=/$BACKUPDIR -a" </SPAN><BR><BR><BR><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">export PATH=$PATH:/bin:/usr/bin:/usr/local/bin</SPAN><BR><BR><BR></FONT><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif"># the following line clears the last weeks incremental directory<BR>[ -d $HOME/emptydir ] || mkdir $HOME/emptydir<BR>rsync --delete -a $HOME/emptydir/ $BSERVER::$USER/$BACKUPDIR/<BR>rmdir $HOME/emptydir</SPAN><BR><BR><BR></FONT><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif"># now the actual transfer<BR>rsync $OPTS $BDIR $BSERVER::$USER/current</SPAN> </FONT></P>
<P><FONT style="FONT-SIZE: 14px"><BR></FONT></P>
<P><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">2</SPAN>、备份至一个空闲的硬盘 </FONT></P>
<P><FONT style="FONT-SIZE: 14px"><BR></FONT></P>
<P style="BACKGROUND: #e6e6e6 0% 50%; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial"><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">#!/bin/sh</SPAN><BR><BR><BR><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">export PATH=/usr/local/bin:/usr/bin:/bin</SPAN><BR><BR><BR><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">LIST=" rootfs usr data data2" </SPAN><BR><BR><BR></FONT><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">for d in $LIST; do<BR>mount /backup/$d<BR>rsync -ax --exclude fstab --delete /$d/ /backup/$d/<BR>umount /backup/$d<BR>done</SPAN><BR><BR><BR><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">DAY=`date " +%A" `</SPAN><BR><BR><BR></FONT><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">rsync -a --delete /usr/local/apache /data2/backups/$DAY<BR>rsync -a --delete /data/solid /data2/backups/$DAY</SPAN> </FONT></P>
<P><FONT style="FONT-SIZE: 14px"><BR></FONT></P>
<P><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">3</SPAN>、对<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">vger.rutgers.edu</SPAN>的<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">cvs</SPAN>树进行镜像 </FONT></P>
<P><FONT style="FONT-SIZE: 14px"><BR></FONT></P>
<P style="BACKGROUND: #e6e6e6 0% 50%; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial"><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">#!/bin/bash</SPAN><BR><BR><BR></FONT><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">cd /var/www/cvs/vger/<BR>PATH=/usr/local/bin:/usr/freeware/bin:/usr/bin:/bin</SPAN><BR><BR><BR></FONT><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">RUN=`lps x | grep rsync | grep -v grep | wc -l`<BR>if [ " $RUN" -gt 0 ]; then<BR>echo already running<BR>exit 1<BR>fi</SPAN><BR><BR><BR><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">rsync -az vger.rutgers.edu::cvs/CVSROOT/ChangeLog $HOME/ChangeLog</SPAN><BR><BR><BR></FONT><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">sum1=`sum $HOME/ChangeLog`<BR>sum2=`sum /var/www/cvs/vger/CVSROOT/ChangeLog`</SPAN><BR><BR><BR></FONT><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">if [ " $sum1" = " $sum2" ]; then<BR>echo nothing to do<BR>exit 0<BR>fi</SPAN><BR><BR><BR></FONT><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">rsync -az --delete --force vger.rutgers.edu::cvs/ /var/www/cvs/vger/<BR>exit 0</SPAN> </FONT></P>
<P style="BACKGROUND: 0% 50%; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial"><FONT style="FONT-SIZE: 14px"><BR></FONT></P>
<P style="BACKGROUND: 0% 50%; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial"><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">6</SPAN>、<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">FAQ</SPAN> </FONT></P>
<P style="BACKGROUND: 0% 50%; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial"><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">Q</SPAN>：如何通过<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">ssh</SPAN>进行<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">rsync</SPAN>，而且无须输入密码？ </FONT></P>
<P style="BACKGROUND: 0% 50%; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial"><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">A</SPAN>：可以通过以下几个步骤 </FONT></P>
<P style="BACKGROUND: 0% 50%; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial"><FONT style="FONT-SIZE: 14px"><BR></FONT></P>
<P style="BACKGROUND: 0% 50%; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial"><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">1.</SPAN> 通过<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">ssh-keygen</SPAN>在<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">server A</SPAN>上建立<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">SSH keys</SPAN>，不要指定密码，你会在<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">~/.ssh</SPAN>下看到<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">identity</SPAN>和<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">identity.pub</SPAN>文件 </FONT></P>
<P style="BACKGROUND: 0% 50%; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial"><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">2.</SPAN> 在<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">server B</SPAN>上的<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">home</SPAN>目录建立子目录<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">.ssh</SPAN> </FONT></P>
<P style="BACKGROUND: 0% 50%; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial"><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">3.</SPAN> 将<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">A</SPAN>的<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">identity.pub</SPAN>拷贝到<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">server B</SPAN>上 </FONT></P>
<P style="BACKGROUND: 0% 50%; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial"><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">4.</SPAN> 将<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">identity.pub</SPAN>加到<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">~[user b]/.ssh/authorized_keys</SPAN> </FONT></P>
<P style="BACKGROUND: 0% 50%; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial"><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">5.</SPAN> 于是<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">server A</SPAN>上的<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">A</SPAN>用户，可通过下面命令以用户<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">B ssh</SPAN>到<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">server B</SPAN>上了 </FONT></P>
<P style="BACKGROUND: 0% 50%; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial"><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">e.g. ssh -l userB serverB</SPAN> </FONT></P>
<P style="BACKGROUND: 0% 50%; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial"><FONT style="FONT-SIZE: 14px">这样就使<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">server A</SPAN>上的用户<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">A</SPAN>就可以<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">ssh</SPAN>以用户<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">B</SPAN>的身份无需密码登陆到<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">server B</SPAN>上了。 </FONT></P>
<P style="BACKGROUND: 0% 50%; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial"><FONT style="FONT-SIZE: 14px"><BR></FONT></P>
<P style="BACKGROUND: 0% 50%; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial"><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">Q</SPAN>：如何通过在不危害安全的情况下通过防火墙使用<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">rsync?</SPAN> </FONT></P>
<P style="BACKGROUND: 0% 50%; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial"><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">A</SPAN>：解答如下： </FONT></P>
<P style="BACKGROUND: 0% 50%; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial"><FONT style="FONT-SIZE: 14px"><BR></FONT></P>
<P style="BACKGROUND: 0% 50%; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial"><FONT style="FONT-SIZE: 14px">这通常有两种情况，一种是服务器在防火墙内，一种是服务器在防火墙外。无论哪种情况，通常还是使用<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">ssh</SPAN>，这时最好新建一个备份用户，并且配置<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">sshd</SPAN>仅允许这个用户通过<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">RSA</SPAN>认证方式进入。如果服务器在防火墙内，则最好限定客户端的<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">IP</SPAN>地址，拒绝其它所有连接。如果客户机在防火墙内，则可以简单允许防火墙打开<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">TCP</SPAN>端口<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">22</SPAN>的<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">ssh</SPAN>外发连接就<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">ok</SPAN>了。 </FONT></P>
<P style="BACKGROUND: 0% 50%; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial"><FONT style="FONT-SIZE: 14px"><BR></FONT></P>
<P style="BACKGROUND: 0% 50%; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial"><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">Q</SPAN>：我能将更改过或者删除的文件也备份上来吗？ </FONT></P>
<P style="BACKGROUND: 0% 50%; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial"><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">A</SPAN>：当然可以： </FONT></P>
<P style="BACKGROUND: 0% 50%; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial"><FONT style="FONT-SIZE: 14px"><BR></FONT></P>
<P style="BACKGROUND: 0% 50%; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial"><FONT style="FONT-SIZE: 14px">你可以使用如：<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">rsync -other -options -backupdir = ./backup-2000-2-13 ...</SPAN>这样的命令来实现。 </FONT></P>
<P style="BACKGROUND: 0% 50%; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial"><FONT style="FONT-SIZE: 14px">这样如果源文件<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">:/path/to/some/file.c</SPAN>改变了，那么旧的文件就会被移到<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">./backup-2000-2-13/path/to/some/file.c</SPAN>， </FONT></P>
<P style="BACKGROUND: 0% 50%; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial"><FONT style="FONT-SIZE: 14px">这里这个目录需要自己手工建立起来 </FONT></P>
<P style="BACKGROUND: 0% 50%; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial"><FONT style="FONT-SIZE: 14px"><BR></FONT></P>
<P style="BACKGROUND: 0% 50%; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial"><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">Q</SPAN>：我需要在防火墙上开放哪些端口以适应<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">rsync</SPAN>？ </FONT></P>
<P style="BACKGROUND: 0% 50%; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial"><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">A</SPAN>：视情况而定 </FONT></P>
<P style="BACKGROUND: 0% 50%; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial"><FONT style="FONT-SIZE: 14px"><BR></FONT></P>
<P style="BACKGROUND: 0% 50%; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial"><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">rsync</SPAN>可以直接通过<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">873</SPAN>端口的<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">tcp</SPAN>连接传文件，也可以通过<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">22</SPAN>端口的<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">ssh</SPAN>来进行文件传递，但你也可以通过下列命令改变它的端口： </FONT></P>
<P style="BACKGROUND: 0% 50%; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial"><FONT style="FONT-SIZE: 14px"><BR></FONT></P>
<P style="BACKGROUND: #e6e6e6 0% 50%; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial"><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">rsync --port 8730 otherhost::</SPAN> </FONT></P>
<P style="BACKGROUND: 0% 50%; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial"><FONT style="FONT-SIZE: 14px">或者 </FONT></P>
<P style="BACKGROUND: #e6e6e6 0% 50%; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial"><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">rsync -e ' ssh -p 2002' otherhost:</SPAN> </FONT></P>
<P style="BACKGROUND: 0% 50%; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial"><FONT style="FONT-SIZE: 14px"><BR></FONT></P>
<P style="BACKGROUND: 0% 50%; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial"><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">Q</SPAN>：我如何通过<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">rsync</SPAN>只复制目录结构，忽略掉文件呢？ </FONT></P>
<P style="BACKGROUND: #e6e6e6 0% 50%; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial"><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">A</SPAN>：<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">rsync -av --include ' */' --exclude ' *' source-dir dest-dir</SPAN> </FONT></P>
<P style="BACKGROUND: 0% 50%; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial"><FONT style="FONT-SIZE: 14px"><BR></FONT></P>
<P style="BACKGROUND: 0% 50%; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial"><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">Q</SPAN>：为什么我总会出现<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">" Read-only file system" </SPAN>的错误呢？ </FONT></P>
<P style="BACKGROUND: 0% 50%; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial"><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">A</SPAN>：看看是否忘了设<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">" read only = no" </SPAN>了 </FONT></P>
<P style="BACKGROUND: 0% 50%; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial"><FONT style="FONT-SIZE: 14px"><BR></FONT></P>
<P style="BACKGROUND: 0% 50%; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial"><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">Q</SPAN>：为什么我会出现<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">' @ERROR: invalid gid' </SPAN>的错误呢？ </FONT></P>
<P style="BACKGROUND: 0% 50%; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial"><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">A</SPAN>：<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">rsync</SPAN>使用时默认是用<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">uid=nobody; gid=nobody</SPAN>来运行的，如果你的系统不存在<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">nobody</SPAN>组的话，就会出现这样的错误，可以试试<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">gid = nogroup</SPAN>或者其它 </FONT></P>
<P style="BACKGROUND: 0% 50%; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial"><FONT style="FONT-SIZE: 14px"><BR></FONT></P>
<P style="BACKGROUND: 0% 50%; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial"><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">Q</SPAN>：绑定端口<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">873</SPAN>失败是怎么回事？ </FONT></P>
<P style="BACKGROUND: 0% 50%; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial"><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">A</SPAN>：如果你不是以<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">root</SPAN>权限运行这一守护进程的话，因为<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">1024</SPAN>端口以下是特权端口，会出现这样的错误。你可以用<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">--port</SPAN>参数来改变。 </FONT></P>
<P style="BACKGROUND: 0% 50%; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial"><FONT style="FONT-SIZE: 14px"><BR></FONT></P>
<P style="BACKGROUND: 0% 50%; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial"><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">Q</SPAN>：为什么我认证失败？ </FONT></P>
<P style="BACKGROUND: 0% 50%; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial"><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">A</SPAN>：从你的命令行看来： </FONT></P>
<P style="BACKGROUND: 0% 50%; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial"><FONT style="FONT-SIZE: 14px"><BR></FONT></P>
<P style="BACKGROUND: 0% 50%; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial"><FONT style="FONT-SIZE: 14px">你用的是： </FONT></P>
<TABLE cellSpacing=0 cellPadding=4 width="100%" border=1>
<COLGROUP><FONT style="FONT-SIZE: 14px">
<COL width=256></FONT></COLGROUP>
<THEAD>
<TR>
<TD vAlign=top width="100%" bgColor=#e6e6e6>
<P style="BACKGROUND: 0% 50%; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial"><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">&gt; bash$ rsync -a 144.16.251.213::test test</SPAN> </FONT></P>
<P style="BACKGROUND: 0% 50%; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial"><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">&gt; Password:</SPAN> </FONT></P>
<P style="BACKGROUND: 0% 50%; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial"><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">&gt; @ERROR: auth failed on module test</SPAN> </FONT></P>
<P style="BACKGROUND: 0% 50%; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">&gt; </SPAN></P>
<P style="BACKGROUND: 0% 50%; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial"><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">&gt; I dont understand this. Can somebody explain as to how to acomplish this.</SPAN> </FONT></P>
<P style="BACKGROUND: 0% 50%; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial"><FONT style="FONT-SIZE: 14px"><SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">&gt; All suggestions are welcome.</SPAN> </FONT></P></TD></TR></THEAD>
<TBODY><FONT style="FONT-SIZE: 14px"></FONT></TBODY></TABLE>
<P style="BACKGROUND: 0% 50%; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial"><FONT style="FONT-SIZE: 14px"><BR></FONT></P>
<P style="BACKGROUND: 0% 50%; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial"><FONT style="FONT-SIZE: 14px">应该是没有以你的用户名登陆导致的问题，试试<SPAN style="FONT-SIZE: 14px; FONT-FAMILY: Bitstream Vera Serif, serif">rsync -a max@144.16.251.213::test test</SPAN> </FONT></P></DIV>]]></summary>
	  <link rel="alternate" type="text/html" href="http://www.xpb.cn/blog/default.asp?id=735" /> 
	  <id>http://www.xpb.cn/blog/default.asp?id=735</id> 
  </entry>	
		
  <entry>
	  <title type="html"><![CDATA[在Linux服务器上手工释放内存]]></title>
	  <author>
		 <name>Admin</name>
		 <uri>http://www.xpb.cn/blog/</uri>
		 <email>xiaopbx@163.com</email>
	  </author>
	  <category term="" scheme="http://www.xpb.cn/blog/default.asp?cateID=19" label="资料共享" /> 
	  <updated>2010-04-05T22:57:51+08:00</updated>
	  <published>2010-04-05T22:57:51+08:00</published>
		  <summary type="html"><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp;总有很多朋友对于Linux的内存管理有疑问，之前一篇linux下的内存管理方式似乎也没能清除大家的疑虑。而在新版核心中，似乎对这个问题提供了新的解决方法，特转出来给大家参考一下。最后，还附上我对这方法的意见，欢迎各位一同讨论。<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;当在Linux下频繁存取文件后，物理内存会很快被用光，当程序结束后，内存不会被正常释放，而是一直作为caching。这个问题，貌似有不少人在问，不过都没有看到有什么很好解决的办法。那么我来谈谈这个问题。<br/><br/>一、通常情况<br/>先来说说free命令：<br/><br/><br/>引用[root@server&nbsp;~]#&nbsp;free&nbsp;-m<br/>total&nbsp;used&nbsp;free&nbsp;shared&nbsp;buffers&nbsp;cached<br/>Mem:&nbsp;249&nbsp;163&nbsp;86&nbsp;0&nbsp;10&nbsp;94<br/>-/+&nbsp;buffers/cache:&nbsp;58&nbsp;191<br/>Swap:&nbsp;511&nbsp;0&nbsp;511<br/><br/>其中：<br/><br/><br/>引用total&nbsp;内存总数<br/>used&nbsp;已经使用的内存数<br/>free&nbsp;空闲的内存数<br/>shared&nbsp;多个进程共享的内存总额<br/>buffers&nbsp;Buffer&nbsp;Cache和cached&nbsp;Page&nbsp;Cache&nbsp;磁盘缓存的大小<br/>-buffers/cache&nbsp;(已用)的内存数:used&nbsp;-&nbsp;buffers&nbsp;-&nbsp;cached&nbsp;<br/>+buffers/cache(可用)的内存数:free&nbsp;+&nbsp;buffers&nbsp;+&nbsp;cached<br/><br/>可用的memory=free&nbsp;memory+buffers+cached<br/><br/>有了这个基础后，可以得知，我现在used为163MB，free为86MB，buffer和cached分别为10MB，94MB。<br/>那么我们来看看,如果我执行复制文件,内存会发生什么变化.<br/><br/>引用[root@server&nbsp;~]#&nbsp;cp&nbsp;-r&nbsp;/etc&nbsp;~/test/<br/>[root@server&nbsp;~]#&nbsp;free&nbsp;-m<br/>total&nbsp;used&nbsp;free&nbsp;shared&nbsp;buffers&nbsp;cached<br/>Mem:&nbsp;249&nbsp;244&nbsp;4&nbsp;0&nbsp;8&nbsp;174<br/>-/+&nbsp;buffers/cache:&nbsp;62&nbsp;187<br/>Swap:&nbsp;511&nbsp;0&nbsp;511<br/><br/>在我命令执行结束后，used为244MB，free为4MB，buffers为8MB，cached为174MB，天呐，都被cached吃掉了。别紧张，这是为了提高文件读取效率的做法。<br/><br/>为了提高磁盘存取效率，Linux做了一些精心的设计，除了对dentry进行缓存（用于VFS，加速文件路径名到inode的转换），还采取了两种主要Cache方式：Buffer&nbsp;Cache和Page&nbsp;Cache。前者针对磁盘块的读写，后者针对文件inode的读写。这些Cache有效缩短了&nbsp;I/O系统调用（比如read，write，getdents）的时间。<br/><br/>那么有人说过段时间，linux会自动释放掉所用的内存。等待一段时间后，我们使用free再来试试，看看是否有释放？<br/><br/><br/>引用[root@server&nbsp;test]#&nbsp;free&nbsp;-m<br/>total&nbsp;used&nbsp;free&nbsp;shared&nbsp;buffers&nbsp;cached<br/>Mem:&nbsp;249&nbsp;244&nbsp;5&nbsp;0&nbsp;8&nbsp;174<br/>-/+&nbsp;buffers/cache:&nbsp;61&nbsp;188<br/>Swap:&nbsp;511&nbsp;0&nbsp;511<br/><br/>似乎没有任何变化。（实际情况下，内存的管理还与Swap有关）<br/><br/>那么我能否手动释放掉这些内存呢？回答是可以的！<br/><br/>二、手动释放缓存<br/>/proc是一个虚拟文件系统，我们可以通过对它的读写操作做为与kernel实体间进行通信的一种手段。也就是说可以通过修改/proc中的文件，来对当前kernel的行为做出调整。那么我们可以通过调整/proc/sys/vm/dro&#112;_caches来释放内存。操作如下：<br/><br/><br/>引用[root@server&nbsp;test]#&nbsp;cat&nbsp;/proc/sys/vm/dro&#112;_caches<br/>0<br/><br/>首先，/proc/sys/vm/dro&#112;_caches的值，默认为0。<br/><br/><br/>引用[root@server&nbsp;test]#&nbsp;sync<br/><br/>手动执行sync命令（描述：sync&nbsp;命令运行&nbsp;sync&nbsp;子例程。如果必须停止系统，则运行sync&nbsp;命令以确保文件系统的完整性。sync&nbsp;命令将所有未写的系统缓冲区写到磁盘中，包含已修改的&nbsp;i-node、已延迟的块&nbsp;I/O&nbsp;和读写映射文件）<br/><br/><br/>引用[root@server&nbsp;test]#&nbsp;echo&nbsp;3&nbsp;&gt;&nbsp;/proc/sys/vm/dro&#112;_caches<br/>[root@server&nbsp;test]#&nbsp;cat&nbsp;/proc/sys/vm/dro&#112;_caches<br/>3<br/><br/>将/proc/sys/vm/dro&#112;_caches值设为3<br/><br/><br/>引用[root@server&nbsp;test]#&nbsp;free&nbsp;-m<br/>total&nbsp;used&nbsp;free&nbsp;shared&nbsp;buffers&nbsp;cached<br/>Mem:&nbsp;249&nbsp;66&nbsp;182&nbsp;0&nbsp;0&nbsp;11<br/>-/+&nbsp;buffers/cache:&nbsp;55&nbsp;194<br/>Swap:&nbsp;511&nbsp;0&nbsp;511<br/><br/>再来运行free命令，会发现现在的used为66MB，free为182MB，buffers为0MB，cached为11MB。那么有效的释放了buffer和cache。<br/><br/>◎&nbsp;有关/proc/sys/vm/dro&#112;_caches的用法在下面进行了说明<br/><br/><br/>引用/proc/sys/vm/dro&#112;_caches&nbsp;(since&nbsp;Linux&nbsp;2.6.16)<br/>Writing&nbsp;to&nbsp;this&nbsp;file&nbsp;causes&nbsp;the&nbsp;kernel&nbsp;to&nbsp;dro&#112;&nbsp;clean&nbsp;caches,<br/>dentries&nbsp;and&nbsp;inodes&nbsp;from&nbsp;memory,&nbsp;causing&nbsp;that&nbsp;memory&nbsp;to&nbsp;become<br/>free.<br/><br/>To&nbsp;free&nbsp;pagecache,&nbsp;use&nbsp;echo&nbsp;1&nbsp;&gt;&nbsp;/proc/sys/vm/dro&#112;_caches;&nbsp;to<br/>free&nbsp;dentries&nbsp;and&nbsp;inodes,&nbsp;use&nbsp;echo&nbsp;2&nbsp;&gt;&nbsp;/proc/sys/vm/dro&#112;_caches;<br/>to&nbsp;free&nbsp;pagecache,&nbsp;dentries&nbsp;and&nbsp;inodes,&nbsp;use&nbsp;echo&nbsp;3&nbsp;&gt;<br/>/proc/sys/vm/dro&#112;_caches.<br/><br/>Because&nbsp;this&nbsp;is&nbsp;a&nbsp;non-destructive&nbsp;operation&nbsp;and&nbsp;dirty&nbsp;objects<br/>are&nbsp;not&nbsp;freeable,&nbsp;the&nbsp;user&nbsp;should&nbsp;run&nbsp;sync&nbsp;first.<br/><br/>三、我的意见<br/>上述文章就长期以来很多用户对Linux内存管理方面的疑问，给出了一个比较“直观”的回复，我更觉得有点像是核心开发小组的妥协。<br/>对于是否需要使用这个值，或向用户提及这个值，我是有保留意见的：<br/><br/><br/>引用1、从man可以看到，这值从2.6.16以后的核心版本才提供，也就是老版的操作系统，如红旗DC&nbsp;5.0、RHEL&nbsp;4.x之前的版本都没有；<br/>2、若对于系统内存是否够用的观察，我还是原意去看swap的使用率和si/so两个值的大小；<br/><br/>用户常见的疑问是，为什么free这么小，是否关闭应用后内存没有释放？<br/>但实际上，我们都知道这是因为Linux对内存的管理与Windows不同，free小并不是说内存不够用了，应该看的是free的第二行最后一个值：<br/><br/><br/>引用-/+&nbsp;buffers/cache:&nbsp;58&nbsp;191<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;这才是系统可用的内存大小。<br/>&nbsp;&nbsp;&nbsp;&nbsp;实际项目中告诉我们，如果因为是应用有像内存泄露、溢出的问题，从swap的使用情况是可以比较快速可以判断的，但free上面反而比较难查看。<br/>相反，如果在这个时候，我们告诉用户，修改系统的一个值，“可以”释放内存，free就大了。用户会怎么想？不会觉得操作系统“有问题”吗？<br/>所以说，我觉得既然核心是可以快速清空buffer或cache，也不难做到（这从上面的操作中可以明显看到），但核心并没有这样做（默认值是0），我们就不应该随便去改变它。<br/>一般情况下，应用在系统上稳定运行了，free值也会保持在一个稳定值的，虽然看上去可能比较小。<br/>当发生内存不足、应用获取不到可用内存、OOM错误等问题时，还是更应该去分析应用方面的原因，如用户量太大导致内存不足、发生应用内存溢出等情况，否则，清空buffer，强制腾出free的大小，可能只是把问题给暂时屏蔽了。<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;我觉得，排除内存不足的情况外，除非是在软件开发阶段，需要临时清掉buffer，以判断应用的内存使用情况；或应用已经不再提供支持，即使应用对内存的时候确实有问题，而且无法避免的情况下，才考虑定时清空buffer。（可惜，这样的应用通常都是运行在老的操作系统版本上，上面的操作也解决不了）。而生产环境下的服务器可以不考虑手工释放内存，这样会带来更多的问题。记住内存是拿来用的,不是拿来看的。不像windows,&nbsp;无论你的真实物理内存有多少,他都要拿硬盘交换文件来读。这也就是windows为什么常常提示虚拟空间不足的原因，你们想想多无聊，在内存还有大部分的时候，拿出一部分硬盘空间来充当内存。硬盘怎么会快过内存，所以我们看linux，只要不用swap的交换空间，就不用担心自己的内存太少。如果常常swap用很多,可能你就要考虑加物理内存了，这也是linux看内存是否够用的标准哦。当然这仅代表我个人意见，也欢迎大家来交流讨论。<br/>]]></summary>
	  <link rel="alternate" type="text/html" href="http://www.xpb.cn/blog/default.asp?id=734" /> 
	  <id>http://www.xpb.cn/blog/default.asp?id=734</id> 
  </entry>	
		
  <entry>
	  <title type="html"><![CDATA[如何用Linux的命令正确识别cpu的个数和核数]]></title>
	  <author>
		 <name>Admin</name>
		 <uri>http://www.xpb.cn/blog/</uri>
		 <email>xiaopbx@163.com</email>
	  </author>
	  <category term="" scheme="http://www.xpb.cn/blog/default.asp?cateID=19" label="资料共享" /> 
	  <updated>2010-04-05T22:55:00+08:00</updated>
	  <published>2010-04-05T22:55:00+08:00</published>
		  <summary type="html"><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;如何在Linux下cpu的个数和核数呢?googel了一下，网上总结的很多办法都是错的或者混淆视听，没办法，靠自己了。<br/><br/>判断依据：<br/><br/>1.具有相同core&nbsp;id的cpu是同一个core的超线程。<br/>2.具有相同physical&nbsp;id的cpu是同一颗cpu封装的线程或者cores。<br/>英文版：<br/>1.Physical&nbsp;id&nbsp;and&nbsp;core&nbsp;id&nbsp;are&nbsp;not&nbsp;necessarily&nbsp;consecutive&nbsp;but&nbsp;they&nbsp;are&nbsp;unique.&nbsp;Any&nbsp;cpu&nbsp;with&nbsp;the&nbsp;same&nbsp;core&nbsp;id&nbsp;are&nbsp;hyperthreads&nbsp;in&nbsp;the&nbsp;same&nbsp;core.<br/>2.Any&nbsp;cpu&nbsp;with&nbsp;the&nbsp;same&nbsp;physical&nbsp;id&nbsp;are&nbsp;threads&nbsp;o&#114;&nbsp;cores&nbsp;in&nbsp;the&nbsp;same&nbsp;physical&nbsp;socket.<br/><br/>以自己的惠普DL380G6为例说明：<br/><br/>①物理cpu个数:<br/>[root@localhost&nbsp;~]#&nbsp;cat&nbsp;/proc/cpuinfo&nbsp;|&nbsp;grep&nbsp;&#34;physical&nbsp;id&#34;&nbsp;|&nbsp;sort&nbsp;|&nbsp;uniq&nbsp;|&nbsp;wc&nbsp;-l<br/>2<br/>②每个物理cpu中core的个数(即核数)<br/>[root@localhost&nbsp;~]#&nbsp;cat&nbsp;/proc/cpuinfo&nbsp;|&nbsp;grep&nbsp;&#34;cpu&nbsp;cores&#34;&nbsp;|&nbsp;uniq&nbsp;<br/>cpu&nbsp;cores&nbsp;:&nbsp;4<br/>③每个物理cpu中逻辑cpu(可能是core、threads或both)的个数<br/>[root@localhost&nbsp;~]#&nbsp;cat&nbsp;/proc/cpuinfo&nbsp;|&nbsp;grep&nbsp;&#34;siblings&#34;&nbsp;|&nbsp;uniq&nbsp;<br/>siblings&nbsp;:&nbsp;8<br/><br/>※这款服务器的cpu蛮强悍的，难怪在许多linux命令中，如iostat中显示有16个cpu之多，这里也请大家注意区分物理cpu和逻辑cpu的区别，不要混淆了。最后能过查询服务器清单发现此款服务器用的cpu是英特尔至强E5540@2.53GHz，四核(Gainestown)，二级缓存8MB，正好通过结果验证以上命令。<br/><br/>]]></summary>
	  <link rel="alternate" type="text/html" href="http://www.xpb.cn/blog/default.asp?id=733" /> 
	  <id>http://www.xpb.cn/blog/default.asp?id=733</id> 
  </entry>	
		
  <entry>
	  <title type="html"><![CDATA[squid做反向代理时多域名及通配域名的配置]]></title>
	  <author>
		 <name>Admin</name>
		 <uri>http://www.xpb.cn/blog/</uri>
		 <email>xiaopbx@163.com</email>
	  </author>
	  <category term="" scheme="http://www.xpb.cn/blog/default.asp?cateID=19" label="资料共享" /> 
	  <updated>2010-04-04T22:47:56+08:00</updated>
	  <published>2010-04-04T22:47:56+08:00</published>
		  <summary type="html"><![CDATA[squid在做多域名时，cache_peer的设置为：<br/>cache_peer&nbsp;10.11.12.107&nbsp;parent&nbsp;80&nbsp;0&nbsp;no-query&nbsp;o&#114;iginserver&nbsp;round-robin&nbsp;name=web01<br/>cache_peer&nbsp;10.11.12.126&nbsp;parent&nbsp;80&nbsp;0&nbsp;no-query&nbsp;o&#114;iginserver&nbsp;round-robin&nbsp;name=web02<br/>cache_peer&nbsp;10.11.12.113&nbsp;parent&nbsp;80&nbsp;0&nbsp;no-query&nbsp;o&#114;iginserver&nbsp;round-robin&nbsp;name=web03&nbsp;<br/><br/>cache_peer&nbsp;122.227.129.122&nbsp;parent&nbsp;80&nbsp;0&nbsp;no-query&nbsp;o&#114;iginserver&nbsp;name=media<br/><br/>cache_peer_domain&nbsp;media&nbsp;media2.ihompy.com<br/>cache_peer_domain&nbsp;web01&nbsp;www.ihompy.com<br/>cache_peer_domain&nbsp;web02&nbsp;www.ihompy.com<br/>cache_peer_domain&nbsp;web03&nbsp;www.ihompy.com<br/>就可以了，但是如果web01-web03是通配域名.ihompy.com，上面的就不行了。<br/><br/>可用如下配置：<br/><br/>visible_hostname&nbsp;squid1.ihompy.com<br/>http_port&nbsp;80&nbsp;accel&nbsp;vhost&nbsp;vport<br/><br/>cache_peer&nbsp;10.11.12.107&nbsp;parent&nbsp;80&nbsp;0&nbsp;no-query&nbsp;o&#114;iginserver&nbsp;round-robin&nbsp;name=web01<br/>cache_peer&nbsp;10.11.12.126&nbsp;parent&nbsp;80&nbsp;0&nbsp;no-query&nbsp;o&#114;iginserver&nbsp;round-robin&nbsp;name=web02<br/>cache_peer&nbsp;10.11.12.113&nbsp;parent&nbsp;80&nbsp;0&nbsp;no-query&nbsp;o&#114;iginserver&nbsp;round-robin&nbsp;name=web03&nbsp;<br/><br/>cache_peer&nbsp;122.227.129.122&nbsp;parent&nbsp;80&nbsp;0&nbsp;no-query&nbsp;o&#114;iginserver&nbsp;name=media<br/><br/>cache_peer_domain&nbsp;media&nbsp;media2.ihompy.com<br/><br/>cache_peer_domain&nbsp;web01&nbsp;!media2.ihompy.com<br/>cache_peer_domain&nbsp;web02&nbsp;!media2.ihompy.com<br/>cache_peer_domain&nbsp;web03&nbsp;!media2.ihompy.com<br/><br/>cache_peer_domain&nbsp;web01&nbsp;.ihompy.com<br/>cache_peer_domain&nbsp;web02&nbsp;.ihompy.com<br/>cache_peer_domain&nbsp;web03&nbsp;.ihompy.com<br/><br/>cache_effective_user&nbsp;squid<br/>cache_effective_group&nbsp;squid<br/><br/>#error_directory&nbsp;/usr/local/squid3/share/errors/Simplify_Chinese<br/>#icon_directory&nbsp;/usr/local/squid3/share/icons<br/>#mime_table&nbsp;/usr/local/squid3/etc/mime.conf<br/><br/><br/>#acl&nbsp;all&nbsp;src&nbsp;0.0.0.0/0.0.0.0<br/>http_access&nbsp;allow&nbsp;all<br/><br/>acl&nbsp;QueryString&nbsp;url_regex&nbsp;\.php?<br/>acl&nbsp;QueryString&nbsp;url_regex&nbsp;\.xml?<br/>no_cache&nbsp;deny&nbsp;QueryString<br/><br/>negative_ttl&nbsp;30&nbsp;seconds<br/><br/>cache_log&nbsp;/var/log/squid/cache.log<br/>cache_access_log&nbsp;/var/log/squid/access.log<br/>cache_store_log&nbsp;/var/log/squid/store.log<br/><br/>cache_dir&nbsp;ufs&nbsp;/usr/local/squid/var/cache&nbsp;20000&nbsp;16&nbsp;256<br/>cache_mem&nbsp;3000&nbsp;MB<br/><br/>maximum_object_size&nbsp;320010&nbsp;KB<br/>maximum_object_size_in_memory&nbsp;100&nbsp;KB<br/><br/>memory_pools&nbsp;on<br/>memory_pools_limit&nbsp;64&nbsp;MB<br/><br/>forwarded_for&nbsp;on<br/>log_icp_queries&nbsp;off<br/><br/>via&nbsp;on<br/>httpd_suppress_version_string&nbsp;off<br/><br/>ie_refresh&nbsp;off<br/>tcp_recv_bufsize&nbsp;32&nbsp;KB<br/><br/>memory_replacement_policy&nbsp;lru<br/><br/>dns_nameservers&nbsp;10.11.12.130&nbsp;10.11.12.131<br/>cache_mgr&nbsp;admin@xpb.cn]]></summary>
	  <link rel="alternate" type="text/html" href="http://www.xpb.cn/blog/default.asp?id=732" /> 
	  <id>http://www.xpb.cn/blog/default.asp?id=732</id> 
  </entry>	
		
</feed>