公司一直用自主开发的一个同步工具来进行数据库文件异机备份的,但无奈太不稳定,三天两头出现服务挂死的问题,特别是最近这1个月,几天就1次。

问题现象都是服务一直在运行,但没有复制文件到备份机上,而且备份服务重启需要2个小时到2天……

原因估计是网络问题导致文件共享复制中断,无法结束正在复制文件的这个进程而引起的。具体原因不想深究,那是个无底洞。

所以前天开始,就开始在各大软件网站和论坛中,搜索满足需求的同步软件,要求如下:

  1. 软件安装在客户端,通过ftp服务,定期从服务器上下载差异文件
  2. 支持设置执行频率和时间点
  3. 支持作为windows服务运行
  4. 可以在界面上手工执行同步(不用等到备份时间点才执行)
  5. 支持导入导出配置

按照对软件的要求,找到以下几个软件:

1.SyncBackPro
对这个软件还是有点感情的,07年跟一伙人兼职创业的时候,就用他来备份数据的,但这次试用了新版本,发现以下缺点,故放弃:
备份子文件夹相当不稳定,经常出现子文件夹下面的文件没备份过来;
备份过来的文件,有些文本文件竟然出现乱码!!!!

2.FileGee
看着功能介绍,觉得这个软件应该就是我想要的,可是还是弃用了,理由很简单,没找到和谐版本。
个人有免费版的,可是功能上被阉割得太多了,太监都不如。
在各软件网站找的,标着企业注册版的,下载下来安装,无一例外,全部都是个人版。

3.Goodsync
这个软件在试用的时候,觉得就是这个了,不用再试其它了,功能上完全满足啊。可是当我把IIS搭建的ftp(不要问我为什么,服务器规定只能用这个),用户权限改为只读之后,这个软件就傻B了,报错,不运行。后来发现,这个软件为了满足的文件对比功能,必须在ftp目录上面放一个文件夹叫_gsdata_,里面有很多文件(估计着应该是软件用来做对比用的)。
或许作者对ftp用户需要这个权限的要求应该不算苛刻,但无奈我就是满足不了,服务器管理要求太严格,下载文件的用户不可能有写入的权限。故放弃!

4.Bestsync
没有找到任何和谐版本,所以没试用,放弃!

5.Super Flexible File Synchronizer Pro
虽然说名字只是个代号,最重要的是看内在。但说实在的,我看到这个软件的名字,真心有一种想直接删除的感觉。但无奈前面已经试了那么多不行的了,只能硬着头皮安装,测试。
没有中文或汉化版,当然,这个关系不大。问题是设置项实在让我摸不着头脑,太标新立异了,这跟英文水平low一点关系也没有!!!
想找度娘要一些教程的时候,度娘跟我说,这个软件基本上都是假注册,试用时间到了就会提示注册,不能继续用!我TMD立马就放弃了。

6.Second Copy
潮汕人有句话:葫芦大块的在后面。所以Second Copy肯定就是本文要重点介绍的软件了。

其实刚开始试用的时候,并不认为有多好,至少不满足我的第5点要求,不支持导出导入配置。

而且作为windows服务运行时,配置显得有点啰嗦:在“登录”页选中“允许服务与桌面互交”选项。启动服务。配置文件后,停止服务,取消选中上述选项,然后重新启动服务。

当测试过上面的软件之后,还是回到这个软件了,毕竟最些缺点并非致命,最多就是麻烦而已。

Second Copy的ftp备份配置相当简单明了(再次鄙视一下Super Flexible File Synchronizer Pro)。

值得注意的就是我必须选择“使用被动模式”才能连上服务器的ftp。

--------------------小割一下------------------

当我把同步配置配置得很满意了,功能测试也全部通过了,抽完事后烟准备来做最后总结的时候,发现设置为win服务运行后,我的同步配置没了,不见了!而且软件还提示我要注册了!!!

妈呀,这是咋回事,一个下午的努力白费了?软件作者这么歹毒?

先把win服务卸载了,再打开软件。

妈呀,这又是咋回事,配置还在,软件显示已经注册了!!!

这到底是想闹哪样!!!冷静下来后,先把软件的注册码抄下来(在关于那里可以看得到)。然后接着把win服务再装上,提示我注册的时候,再输入注册码注册一下。

同步配置看不到了关系也不大嘛,再配置一下就行了。安装win服务的时候,是按照官方的提示进行安装的:在“登录”页选中“允许服务与桌面互交”选项。启动服务。配置文件后,停止服务,取消选中上述选项,然后重新启动服务。

但这样安装之后,就完全没有界面显示了。就不满足我的第4点要求,不能手工执行备份操作了。

后来再研究下,只要不执行后半段:配置文件后,停止服务,取消选中上述选项,然后重新启动服务。服务也是完全正常使用的,而且启动服务的时候,任务栏右下角就会有程序的图标了,修改配置、手工执行什么的,就可以在程序界面上操作了。

至此为止,只剩下导入导出配置不满足我的要求了。

其实软件是有一个导入配置页面的(但实在找不到导出的菜单),但界面上提示是导入旧版本配置,特别是提示第7的版本,配置文件名叫Profiles.dat,所以就用everything搜索了一下,搜索结果竟然有两个这样的文件,路径为(我是xp虚拟机的)

C:\Documents and Settings\ChenShao\Local Settings\Application Data\Centered Systems\Second Copy\profiles.dat
C:\Documents and Settings\LocalService\Local Settings\Application Data\Centered Systems\Second Copy\Profiles.dat

用文本编辑器打开看内容,发现第1个用户执行的配置文件,第2个为服务运行的配置文件。这也解释了为什么之前测试的时候,服务运行的时候看不到配置的情况了,因为用户执行和服务执行使用的是两个完全不相关的配置文件。

接下来就测试导入功能了,就拿第2个文件,也就是服务运行的配置文件来导入,发现导入完全正常!!

这下更不清楚作者是怎么想的,为什么不在软件界面加上导出的菜单呢?这个功能可都是现有的呀!!!!

至此,我的那5个要求已经全部满足了。但刚才手贱去看备份日志的时候,发现中文全部是乱码!这可不好,日志在出错的时候可是有重要作用的。可是回想一下,在用户执行的情况下,日志可是能正常显示中文的。灵感来了,对比一下上面的两个配置文件,发现第2个文件少了配置项

[Options]
LogFileType=html

把软件的配置项翻了个遍,也没发这个配置项在哪配置,只能手工来将配置项补上;再把日志清空,执行备份之后,再看日志,可爱的中文出现了。Yes,就是这个软件了,目前在服务器上面运行1天多了,一切正常。

感谢作者,虽然我用的是盗版。

附软件信息

SecondCopy_8.1.2.0汉化注册版(内附注册码)
下载地址:http://download.csdn.net/detail/chenshao8818/8340711

2015年5月5日补充:

SecondCopy这货安装在winXP上面一点问题也没有,后来安装在生产环境上的winserver2008时,这货就傻了,根本无法作为windows服务运行;后来又继续折腾,折腾的过程已经忘记了,就不记录了。现在补上注册为系统服务的补丁,以及安装使用说明文档,文档写得比较详细,照着做就可以了:

注册系统服务.rar

数据库异机备份使用说明.rar

2016年1月28日补充:

这货不能备份中文名的文件,如果是用IIS作为ftp服务的话,暂时未有解决方案(IIS不支持设置编码)!

如果使用其它专业的ftp服务软件的话,调整一下编码应该就可以轻松解决!

使用Second Copy同步ftp服务器的差异文件的更多相关文章

  1. 打开FTP服务器上的文件夹时发生错误,请检查是否有权限访问该文件夹

    打开FTP服务器上的文件夹时发生错误,请检查是否有权限访问 在win98,winme,win2000,win2003下都能正常上传文件夹,但在winxp+sp2下同样的文件夹就可能出现问题 1. 打开 ...

  2. FTP服务器上删除文件夹失败

    很多人都知道:要删除FTP服务器上的文件夹时,必须确保文件夹下面没有其他文件,否则会删除失败! 可是,有些服务器考虑到安全等因素,通常会隐藏以点开始的文件名,例如“.test.txt”.于是,有的坏人 ...

  3. 浏览器通过http协议通过nginx访问ftp服务器上的文件

    1.修改nginx配置文件 2.修改nginx默认目录为ftp默认目录 3.修改成自定义路径后,并修改此目录第一行,修改为root或是nginx用户 4.重新加载 cd /usr/local/ngin ...

  4. .Net 上传文件到ftp服务器和下载文件

    突然发现又很久没有写博客了,想起哎呦,还是写一篇博客记录一下吧,虽然自己还是那个渣渣猿. 最近在做上传文件的功能,上传到ftp文件服务器有利于管理上传文件. 前面的博客有写到layui如何上传文件,然 ...

  5. Java工具-检验ftp服务器的指定文件是否存在

    项目工作中,需要检验ftp服务器中指定文件是否存在,在网上查阅了相关资料,可以通过ftpClient类进行实现. import org.apache.commons.net.ftp.FTP; impo ...

  6. “打开ftp服务器上的文件夹时发生错误,请检查是否有权限访问该文件夹"

    阿里云虚拟主机上传网站程序 问题场景:网页制作完成后,程序需上传至虚拟主机 注意事项: 1.Windows系统的主机请将全部网页文件直接上传到FTP根目录,即 / . 2. 如果网页文件较多,上传较慢 ...

  7. JAVA通过FTP方式向远程服务器或者客户端上传、下载文件,以及删除FTP服务器上的文件

    1.在目标服务器上搭建FTP服务器 搭建方式有多种大家可以自行选择,例如使用Serv-U或者FTPServer.exe:这里我以FTPServer.exe为例搭建:在目标服务器(这里对应的IP是10. ...

  8. 【FTP】C# System.Net.FtpClient库连接ftp服务器(上传文件)

    如果自己单枪匹马写一个连接ftp服务器代码那是相当恐怖的(socket通信),有一个评价较高的dll库可以供我们使用. 那就是System.Net.FtpClient,链接地址:https://net ...

  9. Web浏览器导出FTP服务器上的文件

    开发思路:1.代码登录ftp服务器下载文件到服务器2.通过web浏览器下载服务器上的文件 using System; using System.Collections; using System.Co ...

随机推荐

  1. MATLAB实现最优低通滤波器的函数

    MATLAB实现最优低通滤波器的函数 % Fs     --Data rate % Fpass  --pass band % Fstop  --Cutoff frequencies % Apass  ...

  2. Android-Android7.0-java.lang.SecurityException: MODE_WORLD_READABLE no longer supported

    某个AndroidProject项目在Android5.0系统运行是OK的,在Android7.0以上版本运行,报以下错误❌ 2019-01-02 15:33:39.996 17067-17067/? ...

  3. ActiveMq 总结(一)

    1. 背景 当前,CORBA.DCOM.RMI等RPC中间件技术已广泛应用于各个领域.但是面对规模和复杂度都越来越高的分布式系统,这些技术也显示出其局限性:(1)同步通信:客户发出调用后,必须等待服务 ...

  4. android应用搬家的实现

    android手机上的应用搬家功能,具体的介绍和原理参考: 系统目录及应用搬家的研究 应用搬家的实现 这里主要是作为一个补充,因为上面两篇文章虽然讲的挺好的,但是给出的例子不能直接运行,还是需要一些准 ...

  5. datename和datepart

    select datename(year, getdate()) + 'aaa11' --不报错 datename返回的是nvarchar类型 select datalength(datename(y ...

  6. LD算法的C++实现(基于编辑距离的文本比较算法)

    算法看这里: http://www.cnblogs.com/grenet/archive/2010/06/01/1748448.html 用数组实现: #include <iostream> ...

  7. celery_消息队列

    http://www.cnblogs.com/wupeiqi/articles/8796552.html 一. celery 简介 Celery 是一个专注于实时处理和任务调度的分布式任务队列, 同时 ...

  8. NGINX部署配置参考.

    请求动态页面 1. uwsgi.ini配置文件.(主从负载uwsgi1.) 2. uwsgi2 的配置文件 3.查看. 4.结构图 5.配置 NGINX服务器  定义上游有哪些服务器. 定义转交给up ...

  9. 程序媛计划——mysql索引

    定义: 索引是一种单独的.物理的对数据库表中一列或多列的值进行排序的一种存储结构   #为字段创建索引 #在表中的字段中创建索引mysql> create index ind_score on ...

  10. Text and Binary modes

    http://perlmaven.com/what-is-a-text-file https://cygwin.com/cygwin-ug-net/using-textbinary.html Text ...