场景描述:近期需要实现将 Windows 下 TG 级别的文档,远程增量备份至分布式存储服务器,于是有了下面的设计:

1、采用rsync,经过测试发现文件比较非常耗时,难以快速实现增量备份;

2、采用Windows下的小工具FastCopy配合DOS脚本来实现快速增量备份;

首先将备份服务器的备份目录自动挂载到本地Z盘(我的备份服务器用samba共享出来的),然后调用FastCopy实现增量备份的目的,具体脚本如下:

-----------------------------------------------------------------------------------------

@echo off

goto begin

远程备份数据到分布式存储指定路径

Miaocbin 10:35 2015/6/19 星期五

:Begin

if exist Z:\ ( goto start ) else ( net use z: \\192.168.2.12\backup )

:start

echo 同步 D:\vssdata 到 Z:\vssdata

Fastcopy\fastcopy.exe /cmd=sync /auto_close /open_window "D:\vssdata\*.*" /to="Z:\vssdata"

echo 同步 D:\svnRepositories 到 Z:\svnRepositories

Fastcopy\fastcopy.exe /cmd=sync /auto_close /open_window "D:\svnRepositories\*.*" /to="Z:\svnRepositories"

:end

net use z: /d /y

exit

------------------------------------------------------------------------------------------

思路一:首先,判断下Z盘是否存在,如果已经存在,则将其卸载,避免盘符被占用,即:

if exist Z:\ ( net use z: /d /y ) else ( net use z: \\192.168.2.12\backup )

------------------------------------------------------------------------------------------

思路二:判断盘符是否存在(网络驱动器是否已经映射好了),没有映射,则通过命令自动映射,已经映射好了,则调用FastCopy进行增量备份;

if exist Z:\ ( goto start ) else ( net use z: \\192.168.2.12\backup )


以上思路都可以,任君选择。

------------------------------------------------------------------------------------------

备注:上述需要我们首先建立ipc$连接,否则是挂不上远程备份磁盘的。

下面的方式可以实现自动传输帐号密码,自动挂在远程共享盘到本地:

------------------------------------------------------------------------------------------

C:\>net use z: \\192.168.2.217\backup "Password123" /user:Administrator

------------------------------------------------------------------------------------------

将备份服务器192.168.2.12上的backup共享盘,挂载到本地。账户为:Administrator,密码为Password123