求助pc客户机备份程序 (200分)

  • 主题发起人 主题发起人 dingsheng_ok
  • 开始时间 开始时间
D

dingsheng_ok

Unregistered / Unconfirmed
GUEST, unregistred user!
现遇一难题,请问各位高手,如何实现pc客户机备份程序,条件如下:
1备份的是客户机上某一位置的指定文档文件(c:/draw/*.doc,d:/*.mp3),
2备份文件全部放在文件服务器上每个用户对应的子目录(即每个客户机在服务器上有一个子目录)
3服务器上有相应备份管理工具(如备份起止时刻,是否出错及错误原因,可设定定时备份和日志文件生成
本人现在很急,不知如何下手,望大家指点,谢谢!
 
用findfirst(),findnext()查找文件,当然对方的文件夹要共享才行![:(]
然后COPY到本地的文件夹,做压缩处理……
我能想到的就这么多了!希望给你好的提示!
 
如果是从客户端备份,且文件夹不允许共享,
可以借助SQL SERVER 来备份
 
to 江南大米:
谢谢!不过备份服务器的目录不是通过共享才能使客户端备份至服务端,而是通过socket通信完成,即c/s的工作方式。我的思路是在客户端把文件打包程一个文件再传输。
to onlyonekgx:
sql server是备份数据库的,我这里先解决文件备份。
还有个疑问:如何为每个用户分配不同的存放文件的目录,能否提供好的解决方法?
 
是C/S啊,那就由C端先设定要备份的目录,然后在指定时间进行备份压缩过程,
压缩完毕向S端发上传请求,上传到S端指定目录!
我上面说的那个是客户机共享,不过安全性的确很差,哈哈哈!

每个用户分配存放文件的目录,可以根据取得请求上传的C端的机器名来生成目录,
如客户端机器名:DX 那服务器端就在指定的位置先生成DX的文件夹,而文件名可以
根据机器名+压缩操作的日期时间来生成 如 文件名:DX200402111617
 
to 江南大米:
谢谢!:)我现在的思路是手工给每个用户在服务端指定目录,即在服务器上存在每个用户和这个用户目录的表,若用户较多,这个表输入记录也多,而且很烦琐。我想应该有更好的办法,给每个客户指定存放文件目录的方法呢?希望得到你的指点。同时,希望大家积极参与
 
怎么没有讨论啊!
 
大大减少编程复杂度的方法:
1.因为是局域网,最好采用晚上邻居的文件访问方式,否则用TCP编程有点麻烦。
2.备份单个文件用Windows.CopyFile(PChar(原路径),PChar(服务器路径),Bool(False));
可同拷贝多个文件(并行喔!嘿嘿)。
3.至于定时的问题可以用时钟搞定,只要不断判断时间即可。
getlocaltime得到年、月、日、时、分等,容易办到。
4.至于放在对应的目录,可以用GetComputerName得到客户端的电脑名字,
在服务端建立目录即可。
5.所有的一切都是文件级的函数操作方式,大大减少编程量又非常实用!嘿嘿!
 
to wql:
所有文件都放在文件服务器中,每个用户是不能通过网上邻居访问的,那样的话,就和本地机上文件复制每区别,现在是想做成一个数据备份和恢复系统
 
看一下这个控件怎么样???
http://www.51delphi.com/delphi/soft?type=备份恢复
 
继续啊,大家再提供些好的思路!
 
获取2000的用户权限我也不清楚,帮你顶一下
 
如果你熟悉三层数据库编程的话,不妨试验如下方法:
方案1:CS结构
服务器端为一个ApplicationServer程序,提供若干服务器方法,比如用户登陆认证,
注册新用户,传输文件,删除文件等。
客户端为一个client.exe程序。每一个用户连接服务器,现注册用户名和密码,服务器
可以维护一个简单的Access表或者文件数据库表,保证每一个人使用唯一的用户名,这
样,服务器可以将文件存储到与此用户名相同的文件夹里面。

客户端与服务器端连接方式有两种,DCOMConncetion 和 SocketConncetion方法,推荐
使用SocketConncetion方法,因为TCP/IP协议使用的最广泛,将来如果服务器配上公网
IP,可以在全国任何一个地方连接。缺点是必须在服务器上打开scktsrvr.exe服务,不
过这种方法培训使用者30分钟应该就没问题了。
DCOMConnection主要是用于局域网,速度略快于SocketConncetion,不过需要安装IPX和
NetBIOS协议,并且很难推广到广域网(公网),并且首次连接速度很慢,推荐在客户端
安装一个连接助手,专门在启动client.exe之前进行连接测试。

方案2:BS结构
方案2-1:
客户端使用IE。如果你信任 MS的 。net平台,进行WebService编程时会简单些,并且现在有Delphi8的支持。
缺点是 1 服务器必须安装 FreamWork,并且目前使用者并不多,有一定的风险,
2 客户端最好是 IE6并且打包SP1,并且最好跟上微软的脚步打包。
方案2-2:
使用传统的网页编程方法,类似于www.inhe.net的网络存储的方法,先登陆服务器,服
务器把文件保存到与用户名相关的目录下面。
 
请大家帮帮忙,多提提建议

 
多人接受答案了。
 
后退
顶部