运行环境:windows server 2008 R2
目的:在数据库服务器A进行数据库自动备份,并且保留5天。
为了安全,需要在web应用服务器B进行数据库的冗余备份,建立双保险。(保留15天)
A相当于本地,B相当于远程。(B需要开通共享文件夹orcl6)
BAT脚本文件(下面两种方法可以实现异机备份XCOPY 、 COPY)
1:两台电脑在同一局域网,可以互相访问。
2:接收复制文件的电脑,文件夹orcl6要设置共享。(共享文件夹一定要开通读/写权限)
代码1):
echo 推送到指定pc共享目录
net use X: \192.168.0.1orcl6 "123" /user:"administrator"
xcopy D:ackfiles*.dmp X: /s /e /y /d
net use X: /del
pause/exit
参数详解:
192.168.0.1是接收文件的电脑ip,orcl6是设置了共享的文件夹。
“123”password 远程连接密码 username 远程连接用户名
net use X: \192.168.0.1orcl6 将192.168.0.1远程主机上的共享目录orcl6建立磁盘映射到本地X:盘
net use X: /del 删除磁盘映射(断开)
xcopy /s /e /y /d
/d 只复制那些在指定日期或指定日期之后更改过的源文件。
/y 禁止提示您确认要覆盖现存的目标文件。
/s /e 复制所有子目录,包括空目录。
把本机的oracle备份.dmp文件,拷贝到本地映射的磁盘 X:下(实际地址为:192.168.0.1机器上的orcl6文件夹下。)
xcopy 源路径 目标路径
复制文件和目录,包括子目录。
代码2):
echo 推送到指定pc共享目录
copy D:ackfiles*.dmp \192.168.0.1orcl6
pause/exit
copy 源路径 目标路径
只是复制文件
pause可以让bat运行框停留,看清执行情况。方便测试bat脚本排错。
任务计划执行的时候,删掉,改为exit 。
一、确定数据库备份目录
源服务器:(服务器A机器下):E盘创建目录back。直接把脚本Backup.bat放在back根录下,定时执行该脚本时会自动创建files和logs和q三个文件夹。q文件夹用来堆放每天更新的dmp和log文件,保留最近5天的备份文件。
目标服务器:(服务器B机器下):并将备份数据库文件导入orcl6文件夹(orcl6为设置共享文件夹,需要从web应用服务器共享一个文件夹到局域网内。同个局域网内的A服务器,或其他的PC可以通过\IP
服务器A 设置如下:
1)选定合适的磁盘,(根据需求,建议磁盘空间在100G以上)并在磁盘根目录下创建back文件夹。
2)看一下标记日期格式是不是如图所示标记区,若不是,则改成yyyy-M-d
二、制定定时策略 (服务器A 设定计划)
1.找到windows下的任务计划程序(win server 2008R2:服务器管理器--配置--任务计划程序)
或者在运行栏里搜索计划任务
2. 创建任务
3. 名称和描述自定义--安全选项下--勾选不管用户是否登录都要运行(w)--勾选使用最高权限运行(i)
--配置选择默认win Vista win sever 2008 或者 下选 win sever 2003 win xp
4. 触发器时间自定义--新建触发器--设置时间间隔--设置计划开始的时间。
5. 操作--新建操作--启动程序
程序或脚本--浏览选择脚本
-在起始于(可选)空白处 将脚本文件的目录填入进去。(很重要)
例如: 起始于(可选)(I): D:ack 点确定--下一步
6. 条件设置如下
7. 在所有参数设置完后,点确定会弹出以下窗口
输入当前pc的管理员用户的密码。--确认
8. 确定后--计划任务设置成功--计划任务状态栏如下:
三、在服务器B--将文件夹W设置为共享文件夹
服务器B设置如下:
1)先确定合适的磁盘(建议在300G以上的磁盘),选择磁盘后新建文件夹orclbf
2)看一下标记日期格式是不是如图所示标记区,若不是,则改成yyyy-M-d
共享页面--添加共享的用户--everyone--选择读取/写入--点共享
点完成就行.
电脑B的防火墙中的例外下把"文件与打印机共享"给勾上
服务器的共享目录,设置成功以后,我们需要在A服务器的运行 通过 \服务器B的ip 验证一下能否正常访问。
所有步骤检查后,我们退出服务器B,回到服务器A,在A机器上进行test.BAT的测试,测试成功后,新建计划任务进行功能测试。
成功通过后,我们在服务器A开始部署正式的BAT在任务计划上。
服务器B下的共享目录(双备份orcl6)需要保存15天,我们需要在B服务器端建立一个任务计划,保存近15天的备份文件。
任务计划步骤如(服务器A设定一样)
找到windows下的任务计划程序(win server 2008R2:服务器管理器--配置--任务计划程序)--创建任务
四、 注意事项
问题描述:windows 计划任务 运行结果反馈0×1
首先我们可以通过手动双击运行BAT脚本,来进行排错,如果脚本本身可以运行,
那我们需要排查一下计划任务的权限设置。权限排查以后,
如果还是报错0x1,查看bat脚本里有没有删除语句,如果文件不存在,也会出现0x1报错。
· 代码 0 或 0x0:操作成功完成。
· 代码 1 或 0x1:调用的函数不正确或调用了未知函数。 如果文件不存在也会出现这个错误
· 代码 10 或 0xa:环境不正确。
· 代码 0x8009000f:常规访问被拒绝
问题描述:在局域网内两台window server 2008 R2服务器上设置共享文件夹,需要开启“网络发现”
但是即使打开了“网络发现”,当重新打开“高级共享设置”的时候,会仍然显示出网络发现没有打开,那么如何解决这个问题呢?
解决方法:
win+R在运行栏里输入services.msc
打开服务功能,检查以下3个服务的开启状态。
要解决这个问题需要启用以下的3个服务:
1.Function Discovery Resource Publication
2.SSDP Discovery
3.UPnP Device Host
再次查看,已经可以正常启用网络发现。