服务器备份还原命令文件夹,Robocopy命令实现文件服务器镜像备份/增量备份操作(示例代码)...

Robocopy是微软推出的可靠文件复制服务,经过测试,比xcopy更加优秀,特别是在复制ACL及文件时间戳方面。

免费同步软件通常在ACL同步这一块比较薄弱,而付费软件复杂操作,我们可以使用robocopy结合任务程序做到日常备份和增量备份。

镜像同步 Left >Right

robocopy "c:\abc" "D:\abc" /mir /copyall /dcopy:DAT /mt:8 /z /xa:sht /a-:h /np /ts /log:H:\RCMB20180502\Log\Robocopy\RBLog%y%.txt

效果是将c盘的abc文件夹(包括abc本身的一切属性),同步到D盘ABC文件夹内(D盘可以没有abc文件夹,会自动创建,如果已经存在,会覆盖abc的ACL),包括abc内一切文件&文件夹,包括所有的ACL和文件属性,包括所有的文件创建,访问,修改时间属性。以8线程的速度运行。断点续传。并创建时间日志。

增量备份

近期备份修改过的文件

robocopy c:\abc d:\monday /mir /copyall /dcopy:DAT /maxage:1 /mt:8

效果是将C\abc 内一天内所有修改过的文件备份到Monday文件夹内。

加/z 支持断点续传

5a39540d440b26db6e9be59499e18a9a.png

/xa:h只能排除隐藏文件,目前没有针对隐藏目录的命令。只能用/XD 目录名来排除隐藏目录。

ee4efac7bc8356a6e1ea05bceb7ff247.png

robocopy c:\ d:\aaa /e /XD System Volume Information /XD $RECYCLE.BIN

对于robocopy针对根目录操作,需要去除System Volume Information和$RECYCLE.BIN这两个目录,用/XD参数,/A-:H清除隐藏文件夹属性.

Robocopy每日定期镜像备份脚本

用以下脚本可实现如下功能:

创建任务计划,每日定点运行Robocopy.bat,同步双方目录,完成后制作Log到相应的目录,最后发送邮件到指定邮箱。

echo off

title Robocopy每日定期镜像备份脚本

echo.

echo 防呆:请修改此脚本配置并删除此行

pause >nul

:设置当前日期名

set y=%date:~0,4%%date:~5,2%%date:~8,2%

:备份频率 *

set pinlv=daily

:输入备份时间 格式"22:00" *

set time=20:00

:存日志、BAT、邮件插件 *

set weizhi=H:\RCMB%y%

:源路劲 *

set yuan="H:\Software\资讯部20150607"

:目标路劲 *

set mubiao="D:\资讯部20150607"

:任务名字 *

set taskname=DailyMBCopy

:邮件脚本形参

set a=%%y%%

set b=%%~dp0Log\Robocopy\RBLog%%y%%.txt

set c=%%~dp0Log\Blatmail\Maillog%%y%%.txt

set d=Robocopy镜像复制任务已经完成

set e=%from%

set f=%user%

set g=%pass%

set h=%to%

if exist "%weizhi%" goto abc

md "%weizhi%"

md "%weizhi%\Log"

md "%weizhi%\Log\Robocopy"

md "%weizhi%\Log\Blatmail"

:创建复制脚本

echo @echo off >%weizhi%\robocopy_sc.bat

echo title 执行RCMB任务脚本ING >>%weizhi%\robocopy_sc.bat

:当凌晨0点开始到10点前,如果用网上的批处理命名方式,会有个空格。导致无法应用名字。

echo if "%%time:~0,2%%" lss 10 (set y=%%date:~0,4%%%%date:~5,2%%%%date:~8,2%%%%time:~1,1%%%%time:~3,2%%) else (set y=%%date:~0,4%%%%date:~5,2%%%%date:~8,2%%%%time:~0,2%%%%time:~3,2%%)>>%weizhi%\robocopy_sc.bat

:加/tee可以在执行命令的时候查看进度 /np关闭了文件百分比 /xa:sht 排除了系统,隐藏,临时文件 /mt:8启用8线程

echo robocopy %yuan% %mubiao% /mir /copyall /dcopy:DAT /mt:8 /z /xa:sht /a-:h /np /ts /log:%weizhi%\Log\Robocopy\RBLog%%y%%.txt ^>nul >>%weizhi%\robocopy_sc.bat

echo start "" %weizhi%\blatmail\blatmail.bat %a% %b% %c% %d% %e% %f% %g% %h% ^>nul >>%weizhi%\robocopy_sc.bat

:创建一个查看并执行任务的测试脚本

echo @echo off >%weizhi%\RunRobocopySchtaskImmediately.bat

echo title 查看并执行该任务 >>%weizhi%\RunRobocopySchtaskImmediately.bat

echo echo ------------------------------------------------------------------------------------->>%weizhi%\RunRobocopySchtaskImmediately.bat

echo schtasks /query /tn dailymircopy /v /fo list>>%weizhi%\RunRobocopySchtaskImmediately.bat

echo echo ------------------------------------------------------------------------------------- >>%weizhi%\RunRobocopySchtaskImmediately.bat

echo echo. >>%weizhi%\RunRobocopySchtaskImmediately.bat

echo echo. >>%weizhi%\RunRobocopySchtaskImmediately.bat

echo echo. >>%weizhi%\RunRobocopySchtaskImmediately.bat

echo echo 任意键立刻执行该任务 >>%weizhi%\RunRobocopySchtaskImmediately.bat

echo pause >nul >>%weizhi%\RunRobocopySchtaskImmediately.bat

echo schtasks /run /tn %taskname% >>%weizhi%\RunRobocopySchtaskImmediately.bat

echo echo 任意键退出 >>%weizhi%\RunRobocopySchtaskImmediately.bat

echo pause >nul >>%weizhi%\RunRobocopySchtaskImmediately.bat

echo exit >>%weizhi%\RunRobocopySchtaskImmediately.bat

:复制邮件程序

robocopy "%~dp0blatmail" "%weizhi%\blatmail" /e >nul

:创建任务

schtasks /create /sc %pinlv% /tn %taskname% /tr "%weizhi%\robocopy_sc.bat" /st %time% /rl highest /f

echo 任意键查看该任务

pause >nul

cls

echo.

echo.

echo.

echo -------------------------------------------------------------------------------------

schtasks /query /tn dailymircopy /v /fo list

echo -------------------------------------------------------------------------------------

echo "按任意键继续"

pause >nul

goto abc

:abc

start "" %weizhi%

start "" %mubiao%

exit

:abc

cls

echo.

echo.

echo.

echo.

echo 目录已经存在 请手动删除后重试

echo 任意键退出

pause >nul

exit

另一个脚本为Robocopy每日定时增量备份。

详情见下载。

最后用Blatmail发送邮件。下载可见。

这是运行脚本后自动创建的目录文件夹。

57cb5b007b01fb3d6e0e77c56ea3892c.png

脚本配置每日定时同步计划任务

12a6c4ccf3f2fa740107eef4ad54f011.png

效果如下

5c3b54ea1d70a60b10bb58c4e1aa3942.png

b60c6df70b529afb7eda39c131511213.png

这是邮件效果:

df453dc239ff4070fd6c6fc41b708216.png

附件中为Robocopy同步与增量同步脚本,Blatmail文件。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值