达梦定时备份问题
最近又有项目要用达梦,这次用的需要使用容器的。
从官网下载下来。我用的是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