• 服务器A制定计划任务,BAT脚本自动备份oracle数据文件,拷贝至服务器B的共享目录。


    运行环境: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录下,定时执行该脚本时会自动创建fileslogs和q个文件夹。q文件夹用来堆放每天更新的dmplog文件,保留最近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服务器的运行 通过 \服务器Bip                         验证一下能否正常访问。

    所有步骤检查后,我们退出服务器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

     

    再次查看,已经可以正常启用网络发现。

  • 相关阅读:
    Java-GZIPOutputStream踩坑
    Redis事务
    Netty实现简单群聊
    SpringMVC请求参数解析
    Netty实现WebSocket
    SpringBoot项目war包部署
    NIO实现群聊
    SpringMVC请求映射handler源码解读
    SpringMVC自定义兼容性HandlerMapping
    spring boot自定义类配置绑定在配置文件中自动提示
  • 原文地址:https://www.cnblogs.com/grisa/p/10272177.html
Copyright © 2020-2023  润新知