??xml version="1.0" encoding="utf-8" standalone="yes"?>国产毛片av在线,神马久久av,欧美巨乳在线观看http://www.aygfsteel.com/JavaVM/不闻不若MQ闻之不若见之?lt;BR>      见之不若知之Q知之不若行之?/description>zh-cnWed, 18 Jun 2025 06:01:22 GMTWed, 18 Jun 2025 06:01:22 GMT60Unison使用文档http://www.aygfsteel.com/JavaVM/archive/2007/12/28/171114.htmlJavaVMJavaVMFri, 28 Dec 2007 03:08:00 GMThttp://www.aygfsteel.com/JavaVM/archive/2007/12/28/171114.htmlhttp://www.aygfsteel.com/JavaVM/comments/171114.htmlhttp://www.aygfsteel.com/JavaVM/archive/2007/12/28/171114.html#Feedback0http://www.aygfsteel.com/JavaVM/comments/commentRss/171114.htmlhttp://www.aygfsteel.com/JavaVM/services/trackbacks/171114.html一:Unison?br />
Unison?span class="t_tag" onclick="tagshow(event)" href="tag.php?name=windows">windows和unixq_下都可以使用的文件同步工P它能使两个文件夹Q本地或|络上的Q保持内容的一致。unison拥有其它一些同步工h文g的相同特性,但也有自q特点Q?br />       跨^C用;
      对内核和用户权限没有特别要求Q?br />       unison是双向的Q它能自动处理两分拷贝中更新没有冲突的部分,有冲H的部分会(x)昄出来让用户选择更新{略Q?br />       只要是能q通的两台LQ就可以q行unisonQ可以直接用socketq接或安全的sshq接方式Q对带宽的要求不高,使用cMrsync的压~传?span class="t_tag" onclick="tagshow(event)" href="tag.php?name=%D0%AD%D2%E9">协议?br /> Unison有文字界面和囑Ş界面Q这里只介绍如何在文字界面下使用.

?安装unison

unison各种版本下蝲地址Q?br /> http://www.seas.upenn.edu/~bcpierce/unison//download.html
unison~译器下载地址Q?br /> http://caml.inria.fr/pub/distrib/ocaml-3.10
其它有用链接Q?br /> http://worldhello.net/doc/bcp/unison.html
http://www.seas.upenn.edu/~bcpierce/unison//contrib.html
http://www.cis.upenn.edu/~bcpierce/unison/download/releases/stable/unison-manual.html#rshmeth
http://linux.chinaunix.net/bbs/viewthread.php?tid=888250&extra=page%3D1%26amp%3Bfilter%3Dreward
从以上地址可以下蝲各种q_,各种版本的unison,有基于源码安装的,有二q制?我下载的是二q制?可以直接使用.q里介绍源码安装:
源码安装unison
Linux下从源码包编译安装,需要一个叫做Objective Caml compiler的工P版本臛_3.0.7Q可以从q里下蝲Q?a target="_blank">http://caml.inria.fr/
Ocaml安装脚本如下Q?br /> # tar -zxf ocaml-3.09.3.tar.gz
# cd ocaml-3.09.3
# ./configure
# make world opt
# make install
Unison对版本要求很高,q行同步的两C机需要相同版本的unisonQ所以这里用和windows一致的版本2.13.16Qunison-2.13.16.tar.gz
安装脚本如下Q?br /> # tar -zxf unison-2.13.16.tar.gz
# cd unison-2.13.16
# make UISTYLE=text
# make install
之后生成可执行文gunisonQ将其cp到系lPATH卛_?br /> # cp ./unison /usr/local/bin

?配置双机ssh信Q

׃unison在远E同步文件夹要登陆远E?span class="t_tag" onclick="tagshow(event)" href="tag.php?name=%B7%FE%CE%F1%C6%F7">服务?/span>,因此要配|两Z怿?br /> 本例假设本地Zؓ(f)Q?0.178.1.132(linux)
          q程机:(x)10.178.1.110(solaris)
1.   在两台机器上创徏 RSA密钥
以下操作要在本地机和q程Z都执行一?br />    Q?Q以 root 用户d
   Q?Q在 root 用户?ȝ录内创徏.ssh 目录q设|正的权限
   [root@gsgatzhapp1 ~]# mkdir ~/.ssh
   [root@gsgatzhapp1 ~]# chmod 700 ~/.ssh
  Q?Q?ssh-keygen 命o(h)生成W?2 版本?SSH 协议?RSA 密钥
   [root@gsgatzhapp1 ~]# ssh-keygen -t rsa
   Generating public/private rsa key pair.
   Enter file in which to save the key (/root/.ssh/id_rsa):
   Enter passphrase (empty for no passphrase):
   Enter same passphrase again:
   Your identification has been saved in /root/.ssh/id_rsa.
   Your public key has been saved in /root/.ssh/id_rsa.pub.
   The key fingerprint is:
   17:e4:7c:79:8d:a0:00:3b:d9:f7:7a:56:f3:ac:54:4d [email=oracle@gsgatzhapp1]oracle@gsgatzhapp1[/email]
   在提CZ存私钥(keyQ和公钥Qpublic keyQ的位置Ӟ使用默认倹{?如果需要私钥密码(passphraseQ,则输入一个私钥密码(如果使用U钥密码Q?ssh 执行q程命o(h)旉要输入私钥密码,因此Q本案例中未使用U钥密码Q,因此Q直接回车即可?
   2. d密钥到授权密钥文Ӟauthorized key fileQ中
     Q?Q以 root 用户d
     Q?Q在本地Z执行
     [root@gsgatzhapp1 ~] # cd ~/.ssh
     [root@gsgatzhapp1.ssh]#ssh 10.178.1.132 cat /root/.ssh/id_rsa.pub >> authorized_keys
     [oracle@gsgatzhapp1.ssh]#ssh 10.178.1.110 cat /root/.ssh/id_rsa.pub >> authorized_keys
     [oracle@gsgatzhapp1.ssh]#scp authorized_keys 10.178.1.110:/root/.ssh/
[oracle@gsgatzhapp1 .ssh]# chmod 600  /root/.ssh/authorized_keys
Q?Q在q程?0.178.1.110 上:(x)
bash-2.05# chmod 600  /root/.ssh/authorized_keys
    Q?Q测?
     完成后,?gsgatzhapp1 上执行:(x)
     [root@gsgatzhapp1 ~]# ssh 10.178.1.132  date
     [root@gsgatzhapp1 ~]#ssh 10.178.1.110 date
     如果不需要输入密码就出现pȝ日期Q说?SSH 配置成功?br />

Unison使用文档Q下Q?/h2>
?unison的?br /> Unison可以在一CZ使用Q同步两个文件夹Q也可以在网l上是用?br /> 1:本地使用
使用Ҏ(gu)Q?br /> #unison  111 222  #同步本地?11?22文g?br /> Contacting server...
Looking for changes
Warning: No archive files were found for these roots.  This can happen either
because this is the first time you have synchronized these roots,
or because you have upgraded Unison to a new version with a different
archive format.  
Update detection may take a while on this run if the replicas are
large.
Unison will assume that the 'last synchronized state' of both replicas
was completely empty.  This means that any files that are different
will be reported as conflicts, and any files that exist only on one
replica will be judged as new and propagated to the other replica.
If the two replicas are identical, then no changes will be reported.
Press return to continue.[<spc>] Reconciling changes
111          222              
         <---- file       aaaaaaaaaaaaa  [f] ?
Commands:
  <ret> or f or <spc>   follow unison's recommendation (if any)
  I                     ignore this path permanently
  E                     permanently ignore files with this extension
  N                     permanently ignore paths ending with this name
  m                     merge the versions
  d                     show differences
  x                     show details
  l                     list all suggested changes
  p or b                go back to previous item
  g                     proceed immediately to propagating changes
  q                     exit unison without propagating any changes
  /                     skip
  > or .                propagate from left to right
  < or ,                propagate from right to left

<---- file       aaaaaaaaaaaaa  [f] f

Proceed with propagating updates? [] y
Propagating updates

UNISON started propagating changes at 15:06:08 on 27 Aug 2007
[BGN] Copying aaaaaaaaaaaaa
  from /222
  to /111
[END] Copying aaaaaaaaaaaaa
UNISON finished propagating changes at 15:06:08 on 27 Aug 2007
Saving synchronizer state
Synchronization complete  (1 item transferred, 0 skipped, 0 failures)
如果(g)到两个文gҎ(gu)所不同Qunison?x)提C,让你选择相应的操作。如上例所C?
表示双222的文件夹有新的文Ӟ是否同步到左边的111文g夹,f表示forceQ然后将认,q行更新,如果输入Q会(x)有更详细的介l?br /> 2: unisonq程使用
使用Ҏ(gu)Q?br /> # unison <本地目录> ssh://remotehostname(IP)/<q程目录的绝对\?gt;
例如:
# unison /home/AAA ssh://username@remotehostname(ip)//DB/path/BBB
表示本机的目录/home/AAA和远端主机的/DB/path/BBBq行同步。一般的Q需要两台机能sshq接?br /> 注意 在主机和目录间又多加?jin)一?"/"
3:unison参数说明
Unison有很多参?q里只介l经怋用的几个,详细的请参看unison手册:
"     -testserver
试q通性,q接到服务器即退出。示?
$ unison / ssh://opensou1@bluehost/    -servercmd=~/bin/unison -testserver
如果服务器端 unison 可执行文件不在默认目录下Q甚x?unison 命o(h)Q需要你~译一个上传到服务器)(j)Q则需要?-servercmd 参数告诉要执行的服务?unison 命o(h)位置?
使用 -testserver 参数Q则成功链接即退出,也不?x)去执行目录的比较等后箋操作?
"     -servercmd xxx
告诉 unisonQ?服务器端?unison 命o(h)是什么。参见上面的CZ?
"     -auto
接受~省的动作,然后{待用户认是否执行?
"     -batch
batch mode, 全自动模式,接受~省动作Qƈ执行?
"     -ignore xxx
增加 xxx 到忽略列表中
"     -ignorecase [true|false|default]
是否忽略文g名大写
"     -follow xxx
是否支持对符可接指向内容的同步
"     owner = true (保持同步q来的文件属?
"     group = true (保持同步q来的文件组信息)
"     perms = -1   (保持同步q来的文件读写权?
"     repeat = 1   (间隔1U后,开始新的一ơ同步检?
"     retry = 3    (p|重试)
"     sshargs = -C (使用ssh的压~传输方?
"     xferbycopying = true

"     -immutable xxx
不变目录Q扫描时可以忽略
"     -silent
安静(rn)模式
"     -times
同步修改旉
"     -path xxx 参数
只同?-path 参数指定的子目录以及(qing)文gQ而非整个目录?path 可以多次出现,例如
  unison /home/username ssh://remotehost//home/username \
      -path shared \
      -path pub \
      -path .netscape/bookmarks.html
4:通过配置文g来用unison
管可以完全通过命o(h)行的方式来指定unisonq行所需要的参数Q但我们q是推荐使用配置文g来进行配|用unisonQ原因很单,看配|文件比看命令行Ҏ(gu)理解Q而且可管理性更强?br /> 默认的配|文件夹位于~currentuser/.unisonQ即当前用户的home目录下,windows则位于C:\Documents and Settings\currentuser\.unisonQ默认的配置文g名是default.prf.
q行q样的命?
#unison exitgogo
Unison默认读取~currentuser/.unison/exitgogo.prf文g里的配置信息.我的配置信息?root/.unison/exitgogo.prf,因此我们可以Ҏ(gu)上面参数的介l?把所有的参数配置信息写入C?prf的文件中.
下面是我的一个web应用中两个文件夹同步的配|信?
root = /sina/webdata
root = ssh://root@192.168.60.121//sina/webdata
#force =/sina/webdata
ignore = Path as/*
#prefer = ssh://root@192.168.60.121//sina/webdata
batch = true
#repeat = 1
#retry = 3
owner = true
group = true
perms = -1
fastcheck=false
rsync =false
#debug=verbose
sshargs = -C
xferbycopying = true
log = true
logfile = /root/.unison/sina_122.1547.log
说明如下:
两个root表示需要同步的文g?br /> force表示以本地的/var/www/bbsnew文g夹ؓ(f)标准Q将该目录同步到q端。注?如果指定?jin)force参数,那么unison变成了(jin)单项同步?也就是说?x)以force指定的文件夹为准q行同步.
Unison本n是可以双向同步的,但是要做到双向同?׃要设|force参数,如果讄?jin)force参数,成?jin)单同步?jin),此时unisoncM与sync.
Unison双向同步基本原理?假如有A B两个文g?A文gҎ(gu)自己的改动同步到B,B文g夹也把自q改动同步到A,最后A B两文件夹的内容相??A B文g夹的合集.
Unison双向同步的一个缺Ҏ(gu),对于一个文件在两个同步文g夹中都被修改?unison是不?x)去同步?因ؓ(f)unison无法判断以那个ؓ(f)?
ignore = Path表示忽略/sina/webdata下面的WEB-INF/tmp目录,卛_步时不同步它?br /> batch = true,表示全自动模式,接受~省动作Qƈ执行
-fastcheck  true表示同步时用文件的创徏旉来比较两地文Ӟ如果q个选项为falseQunison则将比较两地文g的内?讄为true
log = true表示在终端输?gu)行信息?br /> logfile则指定了(jin)同时输出写入log文g?br />
?unison FAQ

如何在和q程服务器同步大量数据,上传一部分数据后,时Q?br /> 9%  559:15 ETARead from remote host bluehost: Connection reset by peer
Fatal error: Lost connection with the server
实际操作中,最好的Ҏ(gu)?W一ơ先把要上传的文件打成包Q用 ftp 上传Q然后展开到服务器中,之后执行一?unison 同步卛_



JavaVM 2007-12-28 11:08 发表评论
]]>[转蝲] 几个著名java开源缓存系l的介绍 http://www.aygfsteel.com/JavaVM/archive/2007/05/10/116472.htmlJavaVMJavaVMThu, 10 May 2007 06:12:00 GMThttp://www.aygfsteel.com/JavaVM/archive/2007/05/10/116472.htmlhttp://www.aygfsteel.com/JavaVM/comments/116472.htmlhttp://www.aygfsteel.com/JavaVM/archive/2007/05/10/116472.html#Feedback2http://www.aygfsteel.com/JavaVM/comments/commentRss/116472.htmlhttp://www.aygfsteel.com/JavaVM/services/trackbacks/116472.htmlOSCache
OSCache是个一个广泛采用的高性能的J2EE~存框架QOSCache能用于Q何Java应用E序的普通的~存解决Ҏ(gu)?br>OSCache有以下特点:(x)
~存M对象Q你可以不受限制的缓存部分jsp面或HTTPhQQ何java对象都可以缓存?br>拥有全面的API--OSCache APIl你全面的程序来控制所有的OSCacheҎ(gu)?br>怹~存--~存能随意的写入盘Q因此允许昂늚创徏Qexpensive-to-createQ数据来保持~存Q甚臌让应用重启?br>支持集群--集群~存数据能被单个的进行参数配|,不需要修改代码?br>~存记录的过?-你可以有最大限度的控制~存对象的过期,包括可插入式的刷新策略(如果默认性能不需要时Q?br>官方|站 http://www.opensymphony.com/oscache/

Java Caching System
JSC(Java Caching System)是一个用分布式的~存pȝQ是Z服务器的java应用E序。它是通过提供理各种动态缓存数据来加速动态web应用?br>JCS和其他缓存系l一P也是一个用于高速读取,低速写入的应用E序?br>动态内容和报表pȝ能够获得更好的性能?br>如果一个网站,有重复的|站l构Q用间歇性更新方式的数据库(而不是连l不断的更新数据库)(j)Q被重复搜烦(ch)出相同结果的Q就能够通过执行~存方式改进其性能和׾~性?br>官方|站 http://jakarta.apache.org/turbine/jcs/

EHCache
EHCache 是一个纯java的在q程中的~存Q它h以下Ҏ(gu):(x)快速,单,为Hibernate2.1充当可插入的~存Q最的依赖性,全面的文档和试?/p>

官方|站 http://ehcache.sourceforge.net/

JCache
JCache是个开源程序,正在努力成ؓ(f)JSR-107开源规范,JSR-107规范已经很多q没改变?jin)。这个版本仍然是构徏在最初的功能定义上?br>官方|站 http://jcache.sourceforge.net/

ShiftOne
ShiftOne Java Object Cache是一个执行一pd严格的对象缓存策略的Java libQ就像一个轻量的配|缓存工作状态的框架?br>官方|站 http://jocache.sourceforge.net/

SwarmCache
SwarmCache是一个简单且有效的分布式~存Q它使用IP multicast与同一个局域网的其他主行通讯Q是特别为集和数据驱动web应用E序而设计的。SwarmCache能够让典型的L作大大超q写操作的这cd用提供更好的性能支持?br>SwarmCache使用JavaGroups来管理从属关pd分布式缓存的通讯?br>官方|站 http://swarmcache.sourceforge.net

TreeCache / JBossCache
JBossCache是一个复制的事务处理~存Q它允许你缓存企业应用数据来更好的改善性能。缓存数据被自动复制Q让你轻松进行JBoss服务器之间的集群工作。JBossCache能够通过JBoss应用服务或其他J2EE容器来运行一个MBean服务Q当?dng)它也能独立运行?br>JBossCache包括两个模块QTreeCache和TreeCacheAOP?br>TreeCache --是一个树(wi)形结构复制的事务处理~存?br>TreeCacheAOP --是一?#8220;面向对象”~存Q它使用AOP来动态管理POJO(Plain Old Java Objects)
注:(x)AOP是OOP的gl,是Aspect Oriented Programming的羃写,意思是面向斚w~程?br>官方|站 http://www.jboss.org/products/jbosscache

WhirlyCache
Whirlycache是一个快速的、可配置的、存在于内存中的对象的缓存。它能够通过~存对象来加快网站或应用E序的速度Q否则就必须通过查询数据库或其他代h(hun)较高的处理程序来建立?br>官方|站 https://whirlycache.dev.java.net/




JavaVM 2007-05-10 14:12 发表评论
]]>
siteMesh的一个中文bughttp://www.aygfsteel.com/JavaVM/archive/2006/07/06/57053.htmlJavaVMJavaVMThu, 06 Jul 2006 15:50:00 GMThttp://www.aygfsteel.com/JavaVM/archive/2006/07/06/57053.htmlhttp://www.aygfsteel.com/JavaVM/comments/57053.htmlhttp://www.aygfsteel.com/JavaVM/archive/2006/07/06/57053.html#Feedback0http://www.aygfsteel.com/JavaVM/comments/commentRss/57053.htmlhttp://www.aygfsteel.com/JavaVM/services/trackbacks/57053.html       l前同事介绍Q前几天一直在试用siteMeshQ在试用q程中发C些不惌装饰的页面出现页面显CZ全的问题。页面上出现一段HTML标签。提C异ؓ(f)java.lang.IllegalStateException 大致意思是试图写多多字节却只写入了(jin)多少多少字节。非帔R闗看?jin)源代码。发现应该是com.opensymphony.module.sitemesh.filter.PageFilter包里?br />
1 response.setContentLength(page.getContentLength()); 

没有考虑中文的情c(din)解x案是会(x)出现的中文情况考虑q去?br />
1 int originalLength = page.getContentLength();//原来的长?/span>
2 int bodyCNLenght = page.getBody().getBytes().length-page.getBody().length();//内容处理中文长度
3 int titleCNLength = page.getTitle().getBytes().length-page.getTitle().length();//title处理中文长度
4 int javascriptCNOfhead = page instanceof FastPage?  ((FastPage)page).getHead().getBytes().length-((FastPage)page).getHead().length()):0 ;//head的长度,因ؓ(f)javascript中可能包括中?/span>
5 
6 response.setContentLength(originalLength+bodyCNLenght+titleCNLength+javascriptCNOfhead);

q个解决Ҏ(gu)是从|上搜烦(ch)出来的,我想应该q有更好的解x法?br />


JavaVM 2006-07-06 23:50 发表评论
]]>
վ֩ģ壺 | ɽ| ʯȪ| | ȫ| | ױ| ƽ| | ƺ| | | | | ض| ״| ɽ| ˶| Ƽ| | ˮ| | | ƽ½| | ԭ| | ½| | | Ϫ| | ̫| ¡| ɳ| | ֦| ҵ| ʲ| | Ȫ|