Linux下创建达梦数据库自动备份任务
原文:Linux下创建达梦数据库自动备份任务 - Apull - 博客园
下边是自己修改的版本,主要是链接哪里
说明:
/opt/dmdbms/bin/dexp USERID='SYSDBA/"Elinks@123"@localhost:5236' DIRECTORY=/opt/DB_BACK FILE=ZNLKDB.dmp LOG=ZNLKDB.log SCHEMAS=ZNLKDB
备份脚本保留最后30天记录,以节省硬盘空间,可根据具体情况修改。
达梦数据库备份脚本
DMDBBakSvr.sh
#!/usr/bin/sh echo "==================================" echo "= 达梦数据库定时备份 =" echo "= =" echo "= Apull 2024-04 =" echo "==================================" echo PRG=`pwd` DM_HOME="/opt/dmdbms/bin" #需要修改为具体达梦路径 BAKPATH="/opt/DB_BACK" #修改为具体保存备份路径 ERRORLOG="$BAKPATH/error.log" cd $DM_HOME if [ ! -d "$BAKPATH" ]; then echo "备份文件夹不存在,正在建立文件夹..." mkdir "$BAKPATH" fi echo "清理30天前的备份文件..." find "$BAKPATH" -type f -mtime +30 -exec echo "{}" + echo "清除历史备份完成!" echo #USERNAME='SYSDBA' #用户名 #PASSWORD=Elinks@123 #密码 #CONDETION="'SYSDBA/"Elinks@123"@localhost:5236" TIMESTYLE=$(date +"%Y-%m-%d_%H-%M-%S") echo "设置数据库导出文件" echo FILEPATH="$USERNAME-$TIMESTYLE.dmp" LOGPATH="$USERNAME-$TIMESTYLE.log" echo "正在导出数据库备份..." echo output=$($DM_HOME/dexp USERID='SYSDBA/"Elinks@123"@localhost:5236' DIRECTORY=/opt/DB_BACK FILE=ZNLKDB.dmp LOG=ZNLKDB.log SCHEMAS=ZNLKDB 2>&1) if [ $? -ne 0 ]; then error_output=$(echo "$output" | grep 'error') echo "[$(date +"%Y-%m-%d %H:%M:%S")] 数据库备份导出失败!" | tee -a $ERRORLOG echo "错误信息:$error_output" | tee -a $ERRORLOG else echo "数据库备份导出成功!目录:$BAKPATH" fi cd $PRG
创建定时任务,定时运行达梦备份脚本
DMDBBakSvr-Setup.sh 内容
#!/usr/bin/sh echo "==================================" echo "= 安装达梦数据库定时备份 =" echo "= =" echo "= Apull 2024-04 =" echo "==================================" echo BINPATH=~/opt/dmdbms/bin if [ -f DMDBBakSvr.sh ]; then if [ ! -d $BINPATH ]; then mkdir -p $BINPATH fi cp -f DMDBBakSvr.sh $BINPATH if [ ! -f $BINPATH/DMDBBakSvr.sh ] || [ ! -x $BINPATH/DMDBBakSvr.sh ]; then chmod +x $BINPATH/DMDBBakSvr.sh fi crontab -l | { cat; echo "0 0 1 * * ? $BINPATH/DMDBBakSvr.sh"; } | crontab - #每晚22:30执行备份数据库操作,根据需要修改 if [ $? -eq 0 ]; then echo "数据库备份计划创建成功" else echo "数据库备份计划创建失败!" fi fi #运行结束保留终端窗口 exec /bin/bash
用命令chmod +x 给上面2个sh文件执行权限。
双击或在终端运行DMDBBakSvr-Setup.sh建立运行计划。
这个方法比较简单,对单机版来说完全够用,不想折腾达梦的存档模式。
crontab 说明
查看已经创建的计划
crontab -l
清除所有计划
crontab -r
编辑定时任务
crontab -e
本文来自博客园,作者:南風未起,转载请注明原文链接:https://www.cnblogs.com/Andy-Blog/p/19546853

浙公网安备 33010602011771号