• 达梦数据库定时逻辑备份


    用shell脚本创建逻辑备份策略

    背景:某项目需要定时备份SCOTT模式中的所有信息(表、索引、存储过程、函数、触发器等)详细步骤如下:

    1、切换到dmdba用户

    su - dmdba

    2、通过DM的dexp工具来进行命令行执行

    1. /dmsoft/dmdbms/bin/dexp userid=SYSDBA/SYSDBA file=SCOTT_$(date +%Y_%m_%d)_$(date +%H_%M).dmp log=SCOTT_$(date +%Y_%m_%d)_$(date +%H_%M).log SCHEMAS=SCOTT DIRECTORY=/dmbak/expbak
    2. userid表示:数据库登录信息用户名密码地址以及端口
    3. file表示:明确指定导出文件名称.dmp
    4. SCOTT_(date +%Y_%m_%d)_(date+(date +%H_%M)表示:获取当前时间
    5. log 表示:明确指定导出日志名称.log
    6. SCHEMAS表示:模式列表,导出一个或多个模式下的所有对象
    7. DIRECTORY表示:导出文件所在目录

    创建shell脚本来写定时计划(2个脚本,一个是执行备份脚本,另一个是切换到dmdba用户下执行)

    脚本1

    1. /dmsoft/scripts/dexpbak.sh
    2. #!/bin/bash
    3. /dmsoft/dmdbms/bin/dexp userid=SYSDBA/SYSDBA file=SCOTT_$(date +%Y_%m_%d)_$(date +%H_%M).dmp log=SCOTT_$(date +%Y_%m_%d)_$(date +%H_%M).log SCHEMAS=SCOTT DIRECTORY=/dmbak/expbak

    脚本2

    1. vim /dmsoft/scripts/exec.sh
    2. #!/bin/bash
    3. su - dmdba -s /bin/bash /dmsoft/scripts/dexpbak.sh

    指定每天2点执行定时任务crontab

    1. crontab -e
    2. 0 2 * * * sh /dmsoft/scripts/exec.sh

    查看定时任务服务是否启动:service crond status

    启动定时任务服务:service crond start

    停止定时任务服务:service crond stop

    重启定时任务服务:service crond restrat

    或者单独配置定时任务执行以下脚本

    1. vim /dmsoft/scripts/dexpbak2.sh
    2. #!/bin/bash
    3. filebak="scott_$(date +%Y%m%d).DMP"
    4. filelog="scott_$(date +%Y%m%d).LOG"
    5. /dmsoft/dmdbms/bin/dexp "SYSDBA"/"SYSDBA"@LOCALHOST:5236 DIRECTORY=/dmbak/expbak FILE=$filebak SCHEMAS="SCOTT" LOG=$filelog
    6. cd /dmbak/expbak
    7. find /dmbak/expbak -mtime +30 -name "scott*" -exec rm -rf {} \;

    指定每天2点执行定时任务crontab

    1. crontab -e
    2. 0 2 * * * su - dmdba -c /dmsoft/scripts/dexpbak2.sh 2>&1 >/dev/null
  • 相关阅读:
    Java--求两个整数的最大公约数和最小公倍数
    Axure设计之引入ECharts图表
    Java进阶篇--并发容器之BlockingQueue
    Android组件通信——消息机制(二十六)
    【10. 差分】
    HazelEngine 学习记录 - Profiling
    数字孪生智慧建筑可视化系统,提高施工效率和建造质量
    ceph性能测试
    Redis 内存淘汰策略
    uniapp 之 获取底部安全距离,状态栏高度等
  • 原文地址:https://blog.csdn.net/qq_35273918/article/details/128079532