Shell脚本使用汇总整理——达梦数据库备份脚本
Shell脚本使用汇总整理——达梦数据库备份脚本
Shell脚本使用的基本知识点汇总详情见连接:
https://www.cnblogs.com/lsy-blogs/p/9223477.html
脚本分为三部分配置信息、脚本文件、定时任务;
1、配置信息:
username=SYSDBA
password=SSSTTTSSS
ipStr=localhost
portNumber=
backupsFileStr=/wocloud/db/backups
logsFileStr=/wocloud/db/backups/dmDexpLogs
backupsFileDay=
dexpStr=/opt/dmdbms/bin/dexp
saveDb=HEBEI
参数说明:
username:用户名
password:密码
ipStr:ip地址,最好是localhost
portNumber:端口号
backupsFileStr:存放备份文件绝对路径
logsFileStr:导出过程中日志存放绝对路径
backupsFileDay:保留备份记录多少天
dexpStr:导出工具dexp绝对路径
saveDb:保存数据库名称,多个数据库用逗号分隔
2、脚本文件:
#!/bin/sh #db_backups_conf.txt文件路径
db_backups_conf="/wocloud/shell/dm_db_backups_conf.txt" #判断文件是否存在
if [ -f "${db_backups_conf}" ];then echo $(date +'%Y-%m-%d %H:%M:%S')" 数据库配置信息文件存在,开始进行数据备份" #获取等号前内容,作为map中的Key值
dbArrOne=($(awk -F'[=]' '{print $1}' ${db_backups_conf} )) #获取等号后内容,作为map中的value值
dbArrTwo=($(awk -F'[=]' '{print $2}' ${db_backups_conf})) #创建一个空map
declare -A map=() #通过循环,将db_backups_conf配置文件中的信息存储在map中
for((i=;i<${#dbArrOne[@]};i++))
do
map[${dbArrOne[i]}]=${dbArrTwo[i]}
done #获取备份数据库
saveDbStr=${map["saveDb"]} #获取默认的字符串分隔符
old_ifs="$IFS" #设置字符串分隔符为逗号
IFS="," #将用户名的value值的字符串进行分隔,获取一个数组
saveDbArr=($saveDbStr) #将字符串的分隔符重新设置为默认的分隔符
IFS="$old_ifs" #获取当前年月日
saveday=$(date +%Y%m%d) #获取超出备份天数的年月日
delday=$(date -d ${map["backupsFileDay"]}' days ago' +%Y%m%d) #遍历要备份的用户名,删除两天前备份的数据文件
for delDb in ${saveDbArr[@]};
do
echo $(date +'%Y-%m-%d %H:%M:%S')" 删除文件:"${map["backupsFileStr"]}/${delDb}_database_${delday}.dmp rm -f ${map["backupsFileStr"]}/${delDb}_database_${delday}.dmp
done #遍历要备份的数据库,备份数据文件
for saveDb in ${saveDbArr[@]};
do
echo $(date +'%Y-%m-%d %H:%M:%S')" 备份数据库:"${saveDb}
${map["dexpStr"]} USERID=${map["username"]}/${map["password"]}@${map["ipStr"]}:${map["portNumber"]} FILE=${saveDb}_database_${saveday}.dmp LOG=${map["logsFileStr"]}/${saveDb}_database_${saveday}.txt SCHEMAS=${saveDb} DIRECTORY=${map["backupsFileStr"]}
done echo $(date +'%Y-%m-%d %H:%M:%S')" 数据备份完毕,脚本执行完毕" else
echo "文件不存在"
fi
注意:注意代码开头中读取配置文件的路径,这个位置可能不一样,需要进行适当修改。
3、定时任务:
Linux中的sh脚本定时任务,可以通过crontab进行管理,如果linux中没有安装crontab,需要进行安装:
安装命令:
yum -y install vixie-cron
yum -y install crontabs
服务管理
service crond start //启动服务
service crond stop //关闭服务
service crond restart //重启服务
service crond reload //重新载入配置
service crond status //查看crontab服务状态
加入开机自启
chkconfig crond on
(1)设定定时任务:
crontab -e 编写定时任务表达式
例如:
*/ * * * /wocloud/shell/fileBackupsScript.sh &>/wocloud/shell/fileBackupsLogs/fileBackupsEcho_`date +\%Y-\%m-\%d-\%H-\%M-\%S`.txt >&
定时表达式+脚本绝对路径+脚本打印信息日志输出绝对路径(一定要有日志输出记录,方便以后进行查看)
(2)重新启动crond
service crond restart;
Shell脚本使用汇总整理——达梦数据库备份脚本的更多相关文章
- Shell脚本使用汇总整理
Shell脚本使用汇总整理 一.Shell脚本常用的头部格式: 头部的作用就是告知linux此脚本的类型: 常用的头部格式如下:(/bin/bash,是bash的路径,如果不知道路径可以通过which ...
- Linux平台达梦数据库V7单实例安装方式之图形方式
一 前言 我们在学习任何一个应用时,了解它的最初步骤通常是学会如何进行安装配置,后序才去关心如何使用,学习达梦数据库也是如此,而达梦数据库的安装提供了多种方式,接下来会一一介绍每种安装方式,达梦数据库 ...
- Shell脚本使用汇总整理——mysql数据库5.7.8以前备份脚本
Shell脚本使用汇总整理——mysql数据库5.7.8以前备份脚本 Shell脚本使用的基本知识点汇总详情见连接: https://www.cnblogs.com/lsy-blogs/p/92234 ...
- Shell脚本使用汇总整理——mysql数据库5.7.8以后备份脚本
Shell脚本使用汇总整理——mysql数据库5.7.8以后备份脚本 Shell脚本使用的基本知识点汇总详情见连接: https://www.cnblogs.com/lsy-blogs/p/92234 ...
- Shell脚本使用汇总整理——文件夹及子文件备份脚本
Shell脚本使用汇总整理——文件夹及子文件备份脚本 Shell脚本使用的基本知识点汇总详情见连接: https://www.cnblogs.com/lsy-blogs/p/9223477.html ...
- DB 查询分析器 6.03 如何灵活、快捷地操作国产达梦数据库
DB 查询分析器 6.03 如何灵活.快捷地操作国产达梦数据库 马根峰 (广东联合电子服务股份有限公司, 广州 510300) 摘要 本文详细地介绍了"万能数据库查询分析器&qu ...
- [转帖]达梦数据库(DM6)和ORACLE 10g的异同点
达梦数据库(DM6)和ORACLE 10g的异同点 https://bbs.aliyun.com/detail/351337.html 花花浪子 级别: 小白 发帖 0 云币 -41 加关注 ...
- 达梦数据库学习(一、linux操作系统安装及数据库安装)
达梦数据库学习(一.linux操作系统安装及数据库安装) 环境介绍: 使用VM12+中标麒麟V7.0操作系统+达梦8数据库 一.linux系统搭建 本部分没有需要着重介绍,注意安装时基本环境选择&qu ...
- 达梦数据库产品支持技术学习分享_Week1
本周主要从以下几个方面进行本人对达梦数据库学习的分享,学习进度和学习情况因人而异,仅供参考. 一.达梦数据库的体系架构 二.达梦数据库的安装 三.达梦数据库的数据类型 四.达梦数据库的DDL.DML. ...
随机推荐
- (四)Redis主从复制(单机版,不集群)
持久化保证了即使redis服务重启也不会丢失数据,因为redis服务重启后会将硬盘上持久化的数据恢复到内存中,但是当redis服务器的硬盘损坏了可能会导致数据丢失,如果通过redis的主从复制机制就可 ...
- java中key值可以重复的map:IdentityHashMap
在Java中,有一种key值可以重复的map,就是IdentityHashMap.在IdentityHashMap中,判断两个键值k1和 k2相等的条件是 k1 == k2 .在正常的Map 实现(如 ...
- SpringBoot | 第十八章:web应用开发之WebJars使用
前言 前面一章节我们主要讲解了关于文件上传的两种方式.本章节继续web开发的相关知识点.通常对于web开发而言,像js.css.images等静态资源版本管理是比较混乱的,比如Jquery.Boots ...
- over partition by与group by
over partition by与group by 的区别 http://www.cnblogs.com/scottpei/archive/2012/02/16/2353718.html 今天看到一 ...
- Django组件:用户认证组件
一丶用户认证 1.auth模块 from django.contrib import auth django.contrib.auth中提供了许多方法,这里主要介绍其中的三个: (1).authent ...
- 创建一个自己的GitHub,创建自己的开源项目
作者是一个大学在读学生,自己在平时的学习中,GitHub上的开源项目给自己提供了很大的帮助.GitHub是目前使用最广泛的分布式项目管理软件,GitHub上面托管了许多非常优秀的开源项目.我觉得每一个 ...
- Thymeleaf的模板使用介绍
参考网址: https://blog.csdn.net/hry2015/article/details/73476973 先定义一个html文件, 如下: 文件路径: templates/templa ...
- sql队伍的胜负情况
1.数据显示情况 2.sql语句执行情况 USE [数据库名] GO /****** Object: Table [dbo].[测试] Script Date: 08/03/2017 10:58:02 ...
- ubuntu14.04server下安装scala+sbt工具
安装sbt参考https://www.cnblogs.com/wrencai/p/3867898.html 在安装scala时 首先得安装jdk环境,最好安装最新版本以免后续安装出现不必要的麻烦 一. ...
- 有些其他程序设置为从 Outlook 下载并删除邮件。为防止发生此意外情况,我们将这些邮件放入一个特殊的 POP 文件夹中
最近使用FOXMAIL接收MSN邮件时,发现有一些邮件收取不到,进到WEB页面,页面下方提示“你的邮件位于 POP 文件夹中!有些其他程序设置为从 Outlook 下载并删除邮件.为防止发生此意外情况 ...