|
wxs81514
初级用户
积分 118
发帖 52
注册 2008-5-7
状态 离线
|
『楼 主』:
怎样让局域网的电脑按指定顺序进行备份
我最近在做一个自动备份批处理程序,思路是这样的:
在服务器上在为每台工作站建立了一个与电脑名称相同的文件夹,作为备份用.然后工作站每天在一个指定的时间开始进行备份,自动把当天更新过的文件备份到服务器上.我已经可以让它每天开机自动运行批处理了.
现在就有一个问题,很多电脑在同一时间进行备份,会造成服务器无法承受,得想个办法让它按照我安排的顺序去备份.比如:RC101\RC102\......RC113\RS001\RS002.....RS018\RG001......,当RC101备份完成后,RC102开始,以此类推直至所有电脑备份完成,如果中间任何一台电脑因关机或其它原因不能执行操作的,则跳过.
现在最主要就是这个问题了,其它的问题都差不多解决了.请各位高手指点一下,谢谢!
|
|
2008-5-15 09:31 |
|
|
bat-zw
金牌会员
永远的学习者
积分 3105
发帖 1276
注册 2008-3-8
状态 离线
|
『第
2 楼』:
恐怕时间的掌控上是个大问题:
&&提供下思路:
在每台工作站备份前先检测服务器上是否有名为备份中的临时文件,如有则等待(至于要跳过则在前面设定一等待时间,超过时间删除临时文件再进行备份),如无临时文件则先在服务器上建立名为备份中的临时文件,备份完成则删除临时文件。(要做到按顺序就更难了)
[ Last edited by zw19750516 on 2008-5-15 at 01:17 PM ]
|
批处理之家新域名:www.bathome.net |
|
2008-5-15 13:08 |
|
|
wxs81514
初级用户
积分 118
发帖 52
注册 2008-5-7
状态 离线
|
『第
3 楼』:
谢谢!这个思路很有参考价值,其实我也不一定严格按我要求的顺序去执行,只要联机正常的电脑正常
备份了就可以.
以上我仔细想了一下,可能会有一点点不足:比如我设置等待时间为2分钟,而网络中有10台电脑关机,
则要浪费20分钟的等待时间。
还有,怎样去判断临时文件存在了多长时间,如果每台电脑的时间不同步,那不是判断不准。
|
|
2008-5-15 15:05 |
|
|
jasonyht
新手上路
积分 10
发帖 4
注册 2008-5-15
状态 离线
|
『第
4 楼』:
楼主现在用的代码是什么样的啊,可不可以发出来参考下啊
|
|
2008-5-15 15:09 |
|
|
wxs81514
初级用户
积分 118
发帖 52
注册 2008-5-7
状态 离线
|
『第
5 楼』:
我现在是用时间表控制的,有一个大缺点,当有新电脑增加时要人为去改代码,比较麻烦.
echo off
:start
ping -n 60 127.0.0.1>nul
@rem 延时1分钟,以免程序反复运行太快占太多资源
goto %computername%
net send zhixinserver can not fond the computername "%computername%"
goto end
@rem 如果备份程序里没有写入与这台计算机同名的备份程序段,则反馈信息到zhixinserver
:RC101
if %time% gtr 08:30:00.00 goto bak
@rem 判断时间是否大于某个数值,如果要判断时间是否小于某个数值,把"grt"改为"lss"
goto start
@rem 如果未到指定的备份时间,不开始备份.
@rem 以下每台电脑的备份程序都一样,只是开始时间不同,以免服务器忙不过来.
:RC103
if %time% gtr 08:30:00.00 goto bak
goto start
:RC102
if %time% gtr 08:33:00.00 goto bak
goto start
@rem 后面每增加一台电脑就增加以上一段代码
:re101
:re102
goto end
@rem 无需备份的电脑请列入上表内,直接跳过
:bak
echo %date% %time% %computername% start backup>>\\zhixinserver\baklog\bak.txt
@rem 记录备份开始
xcopy \\erpserver\ERPFLASH\wallpaper\*.exe %windir% /d/y
@rem 到服务器上拷贝所需的外部命令
:bak1
@rem bak1备份除E盘外最近更新过的资料(最长不超过一个月,筛选doc、xls、ppt、dwg、cdr、pdf文件备份.)
md \\zhixinserver\%computername%\Other_new_files
md \\zhixinserver\%computername%\Other_new_files\Disk_D
md \\zhixinserver\%computername%\Other_new_files\Disk_F
md \\zhixinserver\%computername%\Other_new_files\desktop
md \\zhixinserver\%computername%\Other_new_files\My_Documents
robocopy D:\ \\zhixinserver\%computername%\Other_new_files\Disk_D *.doc *.xls *.ppt *.dwg *.cdr *.pdf /s /xa:h /maxage:30 /PURGE /S
robocopy F:\ \\zhixinserver\%computername%\Other_new_files\Disk_F *.doc *.xls *.ppt *.dwg *.cdr *.pdf /s /xa:h /maxage:30 /PURGE /S
cd %USERPROFILE%\桌面 && robocopy . \\zhixinserver\%computername%\Other_new_files\desktop *.doc *.xls *.ppt *.dwg *.cdr *.pdf /s /xa:h /maxage:30 /PURGE /S
cd %USERPROFILE%\My Documents && robocopy . \\zhixinserver\%computername%\Other_new_files\My_Documents *.doc *.xls *.ppt *.dwg *.cdr *.pdf /s /xa:h /maxage:30 /PURGE /S
@rem 繁体系统不支持中文路径,这条意为如果进入不了这个路径,则不执行拷贝命令.
:bak2
@rem bak2这段程序为E盘资料,每天镜像若干天的资料.
md \\zhixinserver\%computername%\Disk_E
robocopy E:\ \\zhixinserver\%computername%\Disk_E /xa:h /maxage:365 /PURGE /S /log:\\zhixinserver\%computername%\Disk_E\log.txt
echo %date% %time% %computername% backup OK!>>\\zhixinserver\baklog\bak.txt
@rem 记录备份结束
:end
|
|
2008-5-15 15:34 |
|
|