前言
在某个项目中,我们需要将另一台服务器A的数据备份到我们当前使用的服务器B上。因为搭建ftp服务器较为麻烦,故而考虑使用简单xcopy指令,做一个自启动脚本来实现文件定时备份。
流程:在需要备份的服务器A中将需要备份的文件设置为共享,在另一台存储文件备份的服务器B中执行xcopy脚本,即可将需要备份的文件复制到存储备份的服务器中。
实现要求:
1.实现文件备份的两台服务器的网络必须是互通的。
2.必须要有需要备份的服务器A的桌面登录密码,因为执行xcopy指令的文件存储服务器B需要有服务器A的桌面登录账号密码才能执行,另外需要登录服务器A中将需要备份的文件设置为共享。
一、服务器A设置文件共享
1.选择需要共享的文件夹,在属性页中,选择“共享”–“高级共享”
为什么不直接使用上面的“共享”呢?如果是中文的目录,直接用“共享”的话,无法修改该文件共享后的名字,而使用“高级共享”可以将需要共享备份的文件改为你想要自定义的名字。
而且,在同步脚本中夹带中文目录会有点奇怪,中英混杂看起来就不正规。
当然,如果是英文目录,可以直接使用上面的“共享”功能。
2.进入共享目录后,勾选“共享此文件夹”:
①必须勾选“共享此文件夹”
②共享名可以自定义一个共享名,共享名不影响原来的文件夹名称,xcopy指令需要用到这个参数。
③在“权限”选项中选择有共享权限的账户,xcopy指令需要用到账户信息。
3.在“权限”选项下,选择有共享权限的账户:
注意:需要知道选择的共享的账户账号和密码。
二、编写xcopy指令脚本
1.新建一个txt的文本文件
txt脚本内容如下:
使用时请改为自己需要备份的服务器ip和登录密码
@echo off
net use \\192.168.100.100\ipc$ Administrator /user:admin@123
xcopy \\192.168.100.100\CarPicture\ D:\CarPicture /e/s/d/y/i
pause
2.在服务器B中执行xcopy脚本
txt脚本拆分详解如下图所示:
192.168.100.100是需要备份文件的服务器ip
192.168.100.100\CarPicture是指备份该服务器下的CarPicture文件,也就是我们我们设置的共享文件
D:\CarPicture是指存储备份文件服务器的目录,因为xcopy脚本需要在存储备份文件的服务器下执行,所以是本机目录
注意:
1./d表示增量获取文件,只复制新增后的文件,不会重复备份覆盖
2./i表示以文件夹方式存储备份的文件,去掉/i需要手动确认以文件夹还是以压缩包的形式存储文件,达不到自动备份的目的,因此建议添加/i
将文本文件后缀.txt改为.bat即可执行,实现文件备份。
三.脚本定时备份
1.点击左下角“开始”按钮,搜索“任务计划程序”,设置定时任务
2.在“任务计划程序页面”创建自启动任务
在常规页面:
①名称:可以自已命名一个任务名称。
②建议勾选“不管用户是否登录都要运行”,这样不管是否登录都会执行备份脚本。
③建议勾选“使用最高权限运行”,避免遇到要求管理员权限而导致脚本无法运行。
3.在触发器页面,点击“新建”按钮,设置脚本定时执行的时间
可以根据需要自己修改定时任务执行的时间
4.在触发器页面,点击“新建”按钮,设置执行文件本分的脚本程序
点击“浏览”按钮,选择执行文件备份的脚本程序
“添加参数”一栏,一定要添加该脚本所在的目录,否则定时任务无法执行
5.在“条件”页面,建议取消勾线“只有在计算机使用交流电源时才启动任务”
这样不管是什么供电,定时脚本都会按时执行,不会因为供电影响脚本执行
6.在“设置”页面,勾选图中的设置,确保脚本不会漏执行
①勾选“过了计划开始时间,立即启动任务”,这样如果因为服务器死机/断电等原因未执行脚本时,立即会执行定时脚本
②勾选“如果任务失败,按以下频率重新启动”,这样定时脚本启动失败后,会重新执行备份备份指令
设置完毕后,点击[确定]按钮,即可完成脚本的定时任务,文件会按照设置的时间将服务器A的文件定时备份到服务器B中。