Windows下文件同步工具Rsync的简单使用

发布于: 2009年08月15日

对于Windows下两台电脑间的文件同步,网上曾经热捧过微软的免费午餐“SyncToy”。当我在Windows下想进行文件同步时,考虑到微软对自己系统的熟悉程度,就首选了它。工具如其名,它就是个Toy, 派不上大用场。可能是我需要同步的文件数过于庞大,或者总大小超出了它所能承受的范围。在准备同步阶段,就给我一个类似I/O的错误,具体我也记不得了。微软的免费午餐于是就在第一时间被我清出了电脑。

Rsync一直是我比较喜欢的开源同步工具,在Linux 下一只都在使用。官网:http://www.samba.org/rsync,可以下载到源码包。在Download页面(http://www.samba.org/rsync/download.html)可以下载到RPM包。

Windows版的Rsync由另外一个组织编译打包的,名字叫cwRsync:

主页在:http://www.itefix.no/i2/node/10650

文件下载地址:http://sourceforge.net/projects/sereds/files/

我下载的是Server installer 3.1.0版:http://sourceforge.net/projects/sereds/files/cwRsync/3.1.0/cwRsyncServer_3.1.0_Installer.zip/download

下载完毕后,在两台需要同步的电脑上均安装一次。同步的源电脑可以安装启动到系统服务,方便启动。目标电脑就不需要了,因为不需要启动服务。下面假设安装目录为:C:\Program Files\ICW

源电脑配置文件位于:C:\Program Files\ICW\rsyncd.conf,可以简单配置如下:

#port=52326      #默认端口,可以注释掉,如果取消注释,并改为非默认端口,需要在客户端制定相同的端口
read only = yes   #只读模式
list = no
max connections = 10  #文件数多,网速快时,可以增加同时并行连接数
#secerts file = rsyncd.secrets    #这里设置为不需要用户登录,此行注释
motd file = rsyncd.motd
transfer logging = yes
use chroot = false
strict modes = false
#hosts allow = 192.168.1.100 #此处指定客户端IP, 注释为允许所有
log file = rsyncd.log
lock file = rsyncd.lock  #此行需要,否则可能会在同步时报错

# Module definitions
# Remember cygwin naming conventions : c:\work becomes /cygwin/c/work
#
[work]
path = /cygdrive/c/work      #制定需要同步的源文件夹,如上面所述,该文件夹实际指向的是d:/work。

#如果需要指定到e:\game,则应该写为/cygdrive/e/game
read only = true
transfer logging = yes

修改配置文件,保存,重启cwRsync服务。源端配置完毕,被同步目录为c:\work

配置同步目标电脑如下:

使用写字板输入如下内容:

@echo off
echo Starting synchronize folder: work
C:\Program Files\ICW\bin\rsync.exe -vazu –progress –delete 192.168.1.100::work .\work
pause

保存为.bat文件,名字随便起,比如rsync.bat

1,2,4行是DOS命令就不解释了

第3行 :

C:\Program Files\ICW\bin\rsync.exe 表示客户端执行同步命令的文件位置

-vazu 需要分开理解:

v表示输出同步时的信息;

a表示打包模式,等同于 -rlptgoD。r 递归检查目录;l 表示copy文件快捷方式;保留权限信息;t表示保留修改时间戳;g保留权限组信息;o保留所有者信息;D保留设备文件和特殊文件

z表示文件传送过程是进行压缩

u表示目标文件如果比源文件新,则跳过

–progress  文件传送过程显示进度

–delete  删除在源目录不存在但目标目录存在的文件

以上参数均可用rsync.exe -h 命令查到使用方式。且有更丰富的参数提供选择。

192.168.1.100 表示源ip

::work 表示源同步目录,使用源电脑配置文件中方括号内的名字([work])

.\work 表示同步到目标电脑执行命令时所在的目录(此处可理解为rsync.bat放置的目录)的work文件夹内

最后,双击rsync.bat文件执行,即可将源电脑work目录下所有文件同步到目标电脑rsync.bat所在目录的work文件夹下。

山寨机的困惑:15919802430是啥东西?

发布于: 2009年08月13日

去年开始使用传说中的山寨机。用了一年,坏了,上个月换了一个。山寨机信价比好,还可以年年都用新的,多好。

新山寨机给我带来了新问题,它经常给我发来短信回执,说我给15919802430这个号码的短信 发送成功。起初我也没在意,以为是啥假信息。今天查询话费的时候,吓一跳,每一条都是正常发送,而且都扣了花费的。

15919802430

这个问题,不在于移动扣了我的钱,而是这个鬼号码究竟是啥玩意?有没有发送我的一些私人信息?虽然我的手机也没放“艳照”啥的私密东西,但多少还是惴惴不安的。

唉…不知道咋办好了。

卓越亚马逊,我从今天开始逃离

发布于: 2009年08月11日

一年前的今天,我感叹卓越亚马逊–理想和现实总是有距离的。一年之后,不知悔改,又买了一次东西。又遭遇磕碰。

这次是一个书架,周三下单,预计周五到,结果没到。到也没有在意,晚上瞥了一眼邮箱,结果收到这封邮件:

2009/8/7 卓越亚马逊客服中心 <customer_service@cs.amazon.cn>

————————————————————————————– * 当您再次回复时请您将原信内容附于下方,以便您的问题及时得到解决 * ————————————————————————————— 亲爱的朋友: 您好!感谢您的订购。 非常抱歉,配送公司反馈暂时未能与您取得联系,无法将您的商品(订单号:63025***7)送到您的手中,请您谅解! 请您在收到此邮件后尽快联系我们或配送公司,我们会尽快安排再次为您配送。如在48小时内未收到您的回复又无法联系上您,我们会安排配送公司将您的商品返回卓越亚马逊库房。在此之后,若您还需要此商品,建议您重新订购。对此给您带来的不便请您谅解。如您收到此封邮件时配送公司已经对以上订单安排配送,请您忽略此封邮件。谢谢! 如果您还有什么问题,请随时与我们联系。我们将竭诚为您服务。 欢迎您再次到卓越亚马逊购物,祝您购物愉快! ************************************************** 卓越亚马逊客服中心 联系我们:http://www.amazon.cn/help/cs-contact.asp 电话:400-810-5666 传真:400-881-8688 http://www.amazon.cn **************************************************

我感叹啊,卓越亚马逊客真是进入全网络时代了。我周五休息,一天在家手机未离身,也未接到电话。要是我晚上没这惊鸿一瞥,我会永远都收不到这件货物了。

我在第一时间拨通了客服电话。客服的声音如一年前那般温柔,并答应周一送到。

货物在周一如期送到,回家组装,发现少两个零件。我也懒得抱怨了,只是告诫自己,这是最后一次了。一年前我把那篇文章复制到产品的评论页,但文章在不久之后便消失得无影无踪。从一年之后的购物体验来看,卓越亚马逊并没有改进。好吧,我从今天开始逃离。

PS: 这一年之中,我在淘宝买过不少东西,其中包括两台笔记本电脑,未见不快

解决php session_start的warning问题

发布于: 2009年07月21日

在php程序中执行session_start()函数可能会出现如下错误:

Warning: session_start() [function.session-start]: Cannot send session cache limiter – headers already sent……

可能的原因如下:

1. php.ini中session.save_path 没有设置到一个可写的目录.  windows下可给c:/tmp, 前提是必须先建立这个目录. Linux下一般设为/temp

2. session_start()必须早于任何到浏览器的输出.一般来讲可以写到第一行.

3.如果还不行,就在前面写个ob_start();

以上三个仅为常规原因,还有一个隐蔽的原因是,php源文件存为UTF-8 .而有的编辑器会在这个文件的开头写上几个字节,称为BOM签名.(具体请参考http://hi.baidu.com/wwwanq/blog/item/b337de3766a43c380b55a95e.html). 我的editplus3.01上没有这个BOM签名,而notepad++上就碰到了,让我一顿好找.其实notepad++也是可以选为UTF-8(无BOM)的,如下图.一开始没有注意到这一点,选了UTF-8, 结果中招了.notepad++另外,还见过一个另类的解法,就是在php.ini中把session.auto_start 的值由0改为1, 然后重启apache. 直接启用session_start, 可以不用在页面代码上写session_start()函数,当然写了也无所谓. 这个方法药性很大,直接起效,但副作用也不小,一旦程序迁移到另外一台服务器,忘记启用session.auto_start(或者没有权限修改php.ini或重启apache), 结果是要么session不起作用(没在页面写session_start),要么乱蹦上面的错误(有写session_start)

virtualBox 无法启动虚拟机的解决方法

发布于: 2009年07月21日

一个沉睡了很久的虚拟XP系统,很久一年用vbox搞的。为了验证web系统在IE6下的兼容状况。今天一个仍然使用IE6的老土的用户跟我抱怨系统出错,我在IE7,8,Fx,Opera,Chrome下测试都没有问题,不得不重新启用虚拟机来验证。可惜vBox跟我报错:

PIIX3 cannot attach drive to the Secondary Master.

VBox status code: -2 (VERR_FILE_NOT_FOUND)

什么原因我已经无法查到,解决方法其实超简单,在Vbox界面吧启动不了的虚拟机在列表里面删除。在新建一个,引用原来的vdi文件即可。

vbox

把盗版软件请出电脑

发布于: 2009年07月17日

也许是受这场开源运动影响,或者是人慢慢变得成熟,虽然仍然不花钱买软件,但也慢慢开始重视起版权来。今天细数了一下电脑里的软件,盗版的东西已经寥寥无几:

操作系统:Windows XP OEM版,笔记本带的,正版
浏览器:IE,Firefox,Chrome 都不需要花钱
Office: WPS Office 个人版,免费,好用,已经看不到与MS Office有何障碍。不知道是不是当年金山与MS互相开放格式的协议还有效。
编辑器:用开源的Notepad++替代商业的editplus(过渡中)
虚拟光驱:Daemon Tools Lite, 家用,非商业用途是免费的:http://www.xngq.com/products/dtLite
IM: QQ, Windows Live Messenger。不过多用户登录还是Pidgin比较简单。skype有装,不太用。淘宝旺旺。都是免费的
图片管理:Picasa.
截图:Snagit,盗版,说实话这个真的很好用,寻找替代中
下载: FileZilla, 开源 Mozilla的;DownThemAll(Firefox 插件),偶尔用用迅雷;刚刚找了一番,居然发现BT和电驴都没装,落伍了
压缩:7-Zip, 用了她,想不出用WinRAR的理由
翻译:金山词霸Google合作版
影音:Mplayer的windows版Smplayer, PPS, foorbar2000
文件同步:CwRsync, 开源的
其他:Google Earth, Google 拼音,google music 上听音乐, UltraVPN(爬墙的,免费),vncviewer free edition, Adobe Reader
在这个各大软件商争相提供免费版的时代,要找个免费个人使用的软件,还真不难。
不过目前还有个问题,就是杀毒软件用的是Nod32, 网上找的用户密码。正在评估AVG和Avira的免费版

浙ICP备18056264号-1