前几天有台服务器电源坏了,还好数据没有丢。因此必须做好服务器文件内容的备份。服务器主要是用来提供网站服务,带着一个数据库,数据库可以用分发和订阅来解决,网页文件开发电脑也有备份,因此重点在上传的文件部分。
手动上传复制备份的方法显然不可行,需要做到自动将上传的文件同步到另一台服务器上。
找到了一个免费开源的文件同步工具: FreeFileSync,官方主页http://sourceforge.net/projects/freefilesync/ ,这个还自带了一个实时同步程序 RealtimeSync.exe,需要先将主程序的同步设置,通过菜单的“高级”-“创建批处理作业”导出成一个批处理配置文件,(也可以参考这个方法直接写批处理:http://blog.csdn.net/shenzaohui/archive/2010/02/03/5284646.aspx) 然后用RealtimeSync.exe导入这个配置文件,设置好间隔时间,可以自动同步。但这其实也不是真正的实时同步,而且最大的一个问题,是每次同步的时候都要重新比较一遍。文件少了还行,多了基本就没有可行性了。这个程序的详细使用方法见http://www.rjno1.com/best/9-system/186-freefilesync
因此需要找到一个可以实时监测文件变化的程序。又找到一个,DSynchronize,作者主页 http://dimio.altervista.org/eng/,可以下载最新的版本和中文语言包。下载试用后,可以实现实时监测的功能。每当源目录有文件变化时,会自动同步到目标目录。
.net里有一个FileSystemWatcher的类,可以实现这个功能。有空的话详细研究一下。这个页面有大概的实现思路和源代码:http://www.cnblogs.com/xtigmh/articles/1037818.html