技术标签: 服务器备份还原命令文件夹
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 支持断点续传
/xa:h只能排除隐藏文件,目前没有针对隐藏目录的命令。只能用/XD 目录名来排除隐藏目录。
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发送邮件。下载可见。
这是运行脚本后自动创建的目录文件夹。
脚本配置每日定时同步计划任务
效果如下
这是邮件效果:
附件中为Robocopy同步与增量同步脚本,Blatmail文件。
需引用最新的最新4.2版本的js(<script src="echarts.min.js"></script>)1.柱状图var myChart = echarts.init(document.getElementById('todayRole')); var dataAxis = ['物业管理','住户','陌生人','黑名单','租户']; var ...
Axure RP Pro - Widget部件 - 如何实现页内多个锚的效果HTML网页支持页面内的锚,单击带有锚的链接可以在打开页面的同时跳转到锚所在的位置,跳转效果可以借助于Image MapRegion“图像映射区域”部件实现,在打开页面的同时跳转到锚所在的位置可以借助于目标页面的OnPageLoad事件实现。但是对于一个页面内包含多个锚时,一个自然的想法就是借助于变量,然后
@QueryParam和@PathParam使用方法比较先来看@queryparam 先看例子:Path("/users") public class UserService { @GET @Path("/query") public Response getUsers( @QueryParam("from") ...
提示:没啥实质内容,纯记录vscode 日常开发所需的插件文章目录前言一、VsCode插件日常前端开发所需前言一、VsCode插件日常前端开发所需
2022年4月23日,以“探索·应用”为主题的MetaCon元宇宙技术大会正式在线开启。大会由中国最大的IT技术社区之一51CTO精心策划,是业界首个重点围绕元宇宙技术展开的大型会议活动。微软(中国)首席技术官韦青、小冰公司技术副总裁周力等十余位头部科技公司技术大咖;中国电子技术标准化研究院区块链研究室主任李鸣等十余位行业内知名专家及科研学者;光辉城市公司创始人兼CEO宋晓宇等众多独角兽型创业企业家悉数到会,共同分享了元宇宙领域的产业政策、学术研究成果、技术创新、行业落地、发展前景,旨在帮助对元宇宙感兴
CNET最近拿到了三星Tizen智能手机的演示机,从手机来看,软件离发布还有漫长的路要走。三星、富士通、华为将最终生产Tizen手机,但CNET拿到的演示手机不会在店铺销售。就体验而言,演示手机相当迟钝,重点在于设计和用户体验。Tizen生存于Android和iOS阴影之下,它们是两大主导OS平台。和挑战者Firefox OS一样,一眼看去,Tizen很像竞争对手。和Windows Phone不同...
canny算子请查看:请点击这里为了解决canny算子中阈值的取值问题,引入了自适应阈值。技术文章来自: 自适应Canny算子边缘检测技术_李牧 大家可以google一下,很好找到。在文章中使用了“基于梯度幅度直方图和类内方差最小化动态的自动确定高低阈值”方法;主要方法如下:1.将经过非模极大值抑制后的梯度幅值分为L级, ...
深入学习java源码之Byte.decode()与Byte.toUnsignedInt()异常异常就是有异于常态,和正常情况不一样,有错误出错。在java中,阻止当前方法或作用域的情况,称之为异常。其中Error类中包括虚拟机错误和线程死锁,一旦Error出现了,程序就彻底的挂了,被称为程序终结者;Exception类,也就是通常所说的“异常”。主要指编码、环境、用户操作输...
背景springboot项目resource目录下的资源获取,按照以往的获取方式,拿到的都是jar包中的压缩内容,无法获取到文件,试了好多种方式后,最终使用以下方式可以获取到资源地址demo |---src |---main |---java |---resource |--logo.png |---test代码ClassPathResource resource = new ClassPathResource("logo.png"); In
联合索引联合索引是指对表上的多个列进行索引。联合索引的创建方法与单个索引创建的方法一样,不同之处是有多个索引列。如下图: 创建一个two_key 表,并且id_fid是联合索引,联合的列是(id, fid)那么联合索引的内部是什么样的呢?从本质上来说,联合索引也是一颗B+树,不同的是联合索引的键值的数量和不是1,而是大于等于2。接着来讨论两个整数型列组成的联合索引,假设两个键...
用jqueryajax调用远程方法,在IE中成功,在firefox和chrome中失败用jquery ajax调用远程方法,在IE中成功,在firefox和chrome中失败在IE中运行没有问题,调用了远程方法后,程序进入了jquery ajax 的success代码块中。用firefox和chrome执行的时候,程序没有调用远程的方法,并且程序进入了jquery ajax的error代码块中,...
1.产生背景:在 1)想要看源码的时候 2)Debug过程中 会出现 Source not found 页面,如下图所示:2.产生原因:原来就是用的那行代码是系统库里的,但是呢每次运行到那一行的时候总是找不到源代码,所以就提示Source not found。3.解决办法:没有源码那就关联源码呗,关联源码之后问题完美解决。以后每次调试到这一行的时候就会跳到这个源码中,继续程序的调试过...