我想做一个备份程序,但是缺乏经验,我是个新手,希望大家能帮助我,具体如下..(200分)

  • 主题发起人 主题发起人 bluedna
  • 开始时间 开始时间
B

bluedna

Unregistered / Unconfirmed
GUEST, unregistred user!
这个程序要求两台计算机(操作系统均为NT),通过DDN连接,一端为主服务器(即存有数据,
在相应的目录下有很多需要备份的文件,有的文件大小有几百兆),另一端为备份服务器(
需要将主服务器的备份文件备份过来),希望实现每天定时备份(例如晚上7点),自动执行
,在需要恢复时,可以从备份服务器上取回备份的某个或某些备份数据。
我的初步想法是:
1:在备份服务器上为主服务器建立一个用户,分配给相应的目录操作权限(这步不需要编程)。
2:在主服务器安装这个备份程序(备份服务器上不用安装软件),通过备份服务器上为主服务
器建立的用户登录备份服务器,实现文件的备份或取回。
以上是我的初步想法,不知道对不对,我对网络编程不太熟悉,不太清楚用什么控件,用什么
代码能实现网络间的数据传输,希望大家能帮助我,给我一些启发或提示,谢谢!!!
 
各位,能不能帮帮我呀,为什么没有回复,是不是问题太难了,救命啊!!!
 
我可是攒了很长时间才送上200分,在多我就成穷光蛋了!!!
 
文件备份用goost。数据备份用dump文件。
呵呵,你是不是oracle数据库啊?
 
你得先确定你是否需要这么做!感觉上你描述的需求不是很完整。
但是,针对你所要达到的备份目标,可以考虑一下最简单的方式:
文件复制备份,通过task manager实现定时处理。
 
映射一个磁盘,想些本地磁盘一样,拷贝文件比较简单把
 
你先要确定是备份些什么,再者,备份后如何恢复。
 
function DoCopyDir(sDirName:String;
sToDirName:String):Boolean;
var
hFindFile:Cardinal;
t,tfile:String;
sCurDir:String[255];
FindFileData:WIN32_FIND_DATA;
begin
//先保存当前目录
sCurDir:=GetCurrentDir;
ChDir(sDirName);
hFindFile:=FindFirstFile('*.*',FindFileData);
if hFindFile< >INVALID_HANDLE_VALUE then
begin
if not DirectoryExists(sToDirName) then
ForceDirectories(sToDirName);
repeat
tfile:=FindFileData.cFileName;
if (tfile='.') or (tfile='..') then
Continue;
if FindFileData.dwFileAttributes=
FILE_ATTRIBUTE_DIRECTORY then
begin
t:=sToDirName+'/'+tfile;
if not DirectoryExists(t) then
ForceDirectories(t);
if sDirName[Length(sDirName)]< >'/' then
DoCopyDir(sDirName+'/'+tfile,t)
else
DoCopyDir(sDirName+tfile,sToDirName+tfile);
end
else
begin
t:=sToDirName+'/'+tFile;
CopyFile(PChar(tfile),PChar(t),True);
end;
until FindNextFile(hFindFile,FindFileData)=false;
FindClose(hFindFile);
end
else
begin
ChDir(sCurDir);
result:=false;
exit;
end;
//回到原来的目录下
ChDir(sCurDir);
result:=true;
end;
路径可以为//计算机名/目录$,这样别人就看不到了
 
不如开个ftp让你写,这样似乎安全一些。愚见
 
FTP+源码,不过希望你自己编。用微软的internet transfer control就可以轻松搞定,
若懒,则发信给我。
 
就用我的微软的"我的公文包"就行了
 
后退
顶部