我现在是用时间表控制的,有一个大缺点,当有新电脑增加时要人为去改代码,比较麻烦.
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