达梦定时备份问题

最近又有项目要用达梦,这次用的需要使用容器的。

从官网下载下来。我用的是v8 .1.2.128_ent_x86_64版本

 

 

 

docker-compose 文件是

version: '3'
services:
  dm8:
    image: dm8_single:v8.1.2.128_ent_x86_64_ctm_pack4
    container_name: dm8
    environment:
      # 时区上海
      TZ: Asia/Shanghai
      LD_LIBRARY_PATH: "/opt/dmdbms/bin"
#编码格式UTF-8
      UNICODE_FLAG: "1"
#大小写不敏感
      CASE_SENSITIVE: "0"
    ports:
      - "5236:5236"
    volumes:
      - ./data/dm8/data:/opt/dmdbms/data
      - ./data/dm8/bak:/opt/dmdbms/bak
restart: always

  

启动之后

  在bak文件夹里面写了一个定时任务和执行脚本

定时任务:

#!/bin/bash
echo "*/5 * * * * sh /opt/bak/DMsqlbak.sh" > /etc/cron.d/cron_tab
crontab /etc/cron.d/cron_tab
/etc/init.d/cron start 

执行脚本

#!/bin/bash
source /etc/profile
source ~/.profile
#注意这里如果不给他唯一值,当他执行dexp的时候,如果文件已经存在。他会爆出非常多的 [waring] input err,input again
random_number=$(date +%N)

export LD_LIBRARY_PATH=/opt/dmdbms/bin

package=($(date+"%Y%m%H"))

mkdir -p /opt/bak/$package

cd /opt/dmdbms/bin

./dexp SYSDBA/SYSDBA001@localhost SCHEMAS=SYSDBA,XXX FILE=testBak$random_number.DMP DIRECTORY=/opt/bak/$$package  >> /opt/log

echo "end time is "$package >> /opt/baklog

 

posted @ 2023-09-05 12:07  沙师弟demo  阅读(80)  评论(0编辑  收藏  举报