![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-08 14:14 |
共 47,811 主题排行 / 349,895 发帖 / 今日 0 篇 / 48,253 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » 怎样让局域网的电脑按指定顺序进行备份 |
| 可打印版本 926 / 4 |
| 第1楼 wxs81514 | 发表于 2008-05-15 09:31 |
| 初级用户 发帖 52 积分 118 | |
|
怎样让局域网的电脑按指定顺序进行备份 我最近在做一个自动备份批处理程序,思路是这样的:
在服务器上在为每台工作站建立了一个与电脑名称相同的文件夹,作为备份用.然后工作站每天在一个指定的时间开始进行备份,自动把当天更新过的文件备份到服务器上.我已经可以让它每天开机自动运行批处理了. 现在就有一个问题,很多电脑在同一时间进行备份,会造成服务器无法承受,得想个办法让它按照我安排的顺序去备份.比如:RC101\RC102\......RC113\RS001\RS002.....RS018\RG001......,当RC101备份完成后,RC102开始,以此类推直至所有电脑备份完成,如果中间任何一台电脑因关机或其它原因不能执行操作的,则跳过. 现在最主要就是这个问题了,其它的问题都差不多解决了.请各位高手指点一下,谢谢! |
|
| 第2楼 bat-zw | 发表于 2008-05-15 13:08 |
| 金牌会员 发帖 1,276 积分 3,105 | |
|
恐怕时间的掌控上是个大问题: &&提供下思路:
在每台工作站备份前先检测服务器上是否有名为备份中的临时文件,如有则等待(至于要跳过则在前面设定一等待时间,超过时间删除临时文件再进行备份),如无临时文件则先在服务器上建立名为备份中的临时文件,备份完成则删除临时文件。(要做到按顺序就更难了) [ Last edited by zw19750516 on 2008-5-15 at 01:17 PM ] |
|
| 第3楼 wxs81514 | 发表于 2008-05-15 15:05 |
| 初级用户 发帖 52 积分 118 | |
|
谢谢!这个思路很有参考价值,其实我也不一定严格按我要求的顺序去执行,只要联机正常的电脑正常
备份了就可以. 以上我仔细想了一下,可能会有一点点不足:比如我设置等待时间为2分钟,而网络中有10台电脑关机, 则要浪费20分钟的等待时间。 还有,怎样去判断临时文件存在了多长时间,如果每台电脑的时间不同步,那不是判断不准。 |
|
| 第4楼 jasonyht | 发表于 2008-05-15 15:09 |
| 新手上路 发帖 4 积分 10 | |
|
楼主现在用的代码是什么样的啊,可不可以发出来参考下啊
|
|
| 第5楼 wxs81514 | 发表于 2008-05-15 15:34 |
| 初级用户 发帖 52 积分 118 | |
|
我现在是用时间表控制的,有一个大缺点,当有新电脑增加时要人为去改代码,比较麻烦.
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 |
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |